/** * Perform result pre-processing * * @param array $arguments */ protected function _preProcessResult($result) { $result = parent::_preProcessResult($result); /** * catch interface errors * * Excerpt of interface documentation: * A value of zero means, the request was processed without error. * A value greater than zero indicates that an error occurred. * The detailed mapping and explanation of returned status codes is * contained in the list. * * @var stdClass $status Interface status response */ if (Mage::getStoreConfig('intraship/general/logging_enabled')) { $logfile = Mage::getModel('intraship/config')->getLogfile(); Mage::log('REQUEST: ' . $this->getLastRequest(), null, $logfile); Mage::log('RESPONSE: ' . $this->getLastResponse(), null, $logfile); } $status = isset($result->status) ? $result->status : $result->Status; if (0 < (int) $status->StatusCode) { throw new Dhl_Intraship_Model_Soap_Client_Response_Exception($this->getErrorMessage($result), $status->StatusCode); } return $result; }