Example #1
1
 public function getAramexOrderDetails($waybill_ref_number)
 {
     $params = array('ClientInfo' => array('AccountCountryCode' => 'IN', 'AccountEntity' => 'DEL', 'AccountNumber' => '50614093', 'AccountPin' => '115216', 'UserName' => '*****@*****.**', 'Password' => 'swan#1234', 'Version' => 'v1.0'), 'Shipments' => array($waybill_ref_number));
     $wsdlPath = 'shipments-tracking-api-wsdl.wsdl';
     $soapClient = new SoapClient($wsdlPath);
     //        $soapClient = new SoapClient($wsdlPath, array('proxy_host' => "10.112.62.78",
     //                    'proxy_port' => 8080,
     //                    'proxy_login' => "*****@*****.**",
     //                    'proxy_password' => ""));
     //calling the method and printing results
     try {
         $auth_call = $soapClient->TrackShipments($params);
         $ordDtlsArr = $auth_call->TrackingResults->KeyValueOfstringArrayOfTrackingResultmFAkxlpY->Value->TrackingResult;
         $ordDtlsFinal = $ordDtlsArr[0];
         end($ordDtlsArr);
         // move the internal pointer to the end of the array
         $key = key($ordDtlsArr);
         $ordDtlsStart = $ordDtlsArr[$key];
         $ordDtls['WaybillNo'] = $ordDtlsFinal->WaybillNumber;
         $ordDtls['PickUpDate_Formatted'] = date("m/d/Y", strtotime($ordDtlsStart->UpdateDateTime));
         $ordDtls['Status'] = $ordDtlsFinal->UpdateDescription;
         $ordDtls['StatusDate_Formatted'] = date("m/d/Y", strtotime($ordDtlsFinal->UpdateDateTime));
         $ordDtls['StatusTime_Formatted'] = date("H:i:s", strtotime($ordDtlsFinal->UpdateDateTime));
         return $ordDtls;
     } catch (SoapFault $fault) {
         $string = 'faultcode:' . $fault->faultcode . '<br>' . 'faultstring:' . $fault->faultstring . '<br>' . 'faultactor:' . $fault->faultactor . '<br>' . 'detail:' . $fault->detail . '<br>' . 'faultname:' . $fault->faultname . '<br>' . 'headerfault:' . $fault->headerfault;
         Mage::log('Exception of armaex api: ' . $string);
     }
 }
Example #2
0
 protected function _parseXmlTrackingResponse($trackingvalue)
 {
     $resultArr = array();
     if (!$this->_result) {
         $this->_result = Mage::getModel('shipping/tracking_result');
     }
     $defaults = $this->getDefaults();
     //$url = 'http://localhost:8080/soap_test/wsdl/Tracking.wsdl';
     //if (!$url) {
     $url = $this->_defaultGatewayUrl;
     //}
     $clientAramex = new SoapClient($url);
     $aramexParams = $this->_getAuthDetails();
     $aramexParams['Transaction'] = array('Reference1' => '001');
     $aramexParams['Shipments'] = array($trackingvalue);
     $_resAramex = $clientAramex->TrackShipments($aramexParams);
     if (is_object($_resAramex) && !$_resAramex->HasErrors) {
         $tracking = Mage::getModel('shipping/tracking_result_status');
         $tracking->setCarrier('aramex');
         $tracking->setCarrierTitle($this->getConfigData('title'));
         $tracking->setTracking($trackingvalue);
         if (!empty($_resAramex->TrackingResults->KeyValueOfstringArrayOfTrackingResultmFAkxlpY->Value->TrackingResult)) {
             $tracking->setTrackSummary($this->getTrackingInfoTable($_resAramex->TrackingResults->KeyValueOfstringArrayOfTrackingResultmFAkxlpY->Value->TrackingResult));
         } else {
             $tracking->setTrackSummary('Unable to retrieve quotes, please check if the Tracking Number is valid or contact your administrator.');
         }
         $this->_result->append($tracking);
     } else {
         $errorMessage = '';
         foreach ($_resAramex->Notifications as $notification) {
             $errorMessage .= '<b>' . $notification->Code . '</b>' . $notification->Message;
         }
         $error = Mage::getModel('shipping/tracking_result_error');
         $error->setCarrier('aramex');
         $error->setCarrierTitle($this->getConfigData('title'));
         $error->setTracking($trackingvalue);
         $error->setErrorMessage($errorMessage);
         $this->_result->append($error);
     }
 }