Ejemplo n.º 1
0
 protected function send($url, $request = null)
 {
     $timeout = $this->restHelper->getWebserviceTimeout();
     if (is_null($request)) {
         $request = $this->shipperMapper->getCredentialsTranslation();
     }
     $this->shipperLogger->postDebug('Shipperhq_Shipper', 'Synch: Request to ' . $url, $request->siteDetails);
     $result = $this->shipperWSClientFactory->create()->sendAndReceive($request, $url, $timeout);
     return $result;
 }
Ejemplo n.º 2
0
 /**
  * Do remote request for and handle errors
  *
  * @return Mage_Shipping_Model_Rate_Result
  */
 protected function getQuotes()
 {
     $requestString = serialize($this->shipperRequest);
     $resultSet = $this->carrierCache->getCachedQuotes($requestString, $this->getCarrierCode());
     $timeout = $this->restHelper->getWebserviceTimeout();
     if (!$resultSet) {
         $initVal = microtime(true);
         $resultSet = $this->shipperWSClientFactory->create()->sendAndReceive($this->shipperRequest, $this->restHelper->getRateGatewayUrl(), $timeout);
         $elapsed = microtime(true) - $initVal;
         $this->shipperLogger->postDebug('Shipperhq_Shipper', 'Short lapse', $elapsed);
         if (!$resultSet['result']) {
             $backupRates = $this->backupCarrier->getBackupCarrierRates($this->rawRequest, $this->getConfigData("backup_carrier"));
             if ($backupRates) {
                 return $backupRates;
             }
         }
         $this->carrierCache->setCachedQuotes($requestString, $resultSet, $this->getCarrierCode());
     }
     $this->shipperLogger->postInfo('Shipperhq_Shipper', 'Rate request and result', $resultSet['debug']);
     return $this->parseShipperResponse($resultSet['result']);
 }