Example #1
0
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;
}
Example #2
0
 /**
  * {@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;
 }