function suivi_colis($suivi) { $url = 'http://www.tnt.fr/service/tracking?wsdl'; $username = ''; $password = ''; $authheader = sprintf(' <wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"> <wsse:UsernameToken> <wsse:Username>%s</wsse:Username> <wsse:Password>%s</wsse:Password> </wsse:UsernameToken> </wsse:Security>', htmlspecialchars($username), htmlspecialchars($password)); $authvars = new SoapVar($authheader, XSD_ANYXML); $header = new SoapHeader('http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd', 'Security', $authvars); $soap = new SoapClient($url, array('trace' => 1)); $soap->__setSOAPHeaders(array($header)); try { $result = $soap->trackingByConsignment(array('parcelNumber' => $suivi)); $etape = getStage($result); if (is_array($result->Parcel->longStatus)) { $statut = $result->Parcel->longStatus[0]; $message = $result->Parcel->longStatus[1]; } else { $statut = $result->Parcel->longStatus; $message = ''; } $result = 'tntB2CSuiviColisDisplayDetail(["' . $result->Parcel->consignmentNumber . '","' . $result->Parcel->reference . '","' . $result->Parcel->receiver->city . '","","",["' . $statut . '","' . $message . '"],[],"' . $etape . '"])'; } catch (Exception $e) { $result = $e->getMessage(); } return $result; }
/** * {@inheritdoc} */ public function getTrackingByConsignment($trackingNumber) { try { $result = $this->client->trackingByConsignment(array('parcelNumber' => $trackingNumber)); } catch (\SoapFault $e) { $this->manager->handle($e); } if (!isset($result->Parcel)) { throw new ParcelNotFoundException($trackingNumber); } $parcel = $result->Parcel; $parcel->init(); return $parcel; }