*
  • Message - (string) text message for an exception
  • *
  • StatusCode - (int) HTTP status code at the time of exception
  • *
  • ErrorCode - (string) specific error code returned by the service
  • *
  • ErrorType - (string) Possible types: Sender, Receiver or Unknown
  • *
  • RequestId - (string) request id returned by the service
  • *
  • XML - (string) compete xml response at the time of exception
  • *
  • Exception - (Exception) inner exception if any
  • * * */ public function __construct(array $errorInfo = array()) { $this->_message = $errorInfo["Message"]; parent::__construct($this->_message); if (array_key_exists("Exception", $errorInfo)) { $exception = $errorInfo["Exception"]; if ($exception instanceof FBAInventoryServiceMWS_Exception) { $this->_statusCode = $exception->getStatusCode(); $this->_errorCode = $exception->getErrorCode(); $this->_errorType = $exception->getErrorType(); $this->_requestId = $exception->getRequestId(); $this->_xml= $exception->getXML(); $this->_responseHeaderMetadata = $exception->getResponseHeaderMetadata(); } } else { $this->_statusCode = $this->arr_val($errorInfo, "StatusCode"); $this->_errorCode = $this->arr_val($errorInfo, "ErrorCode"); $this->_errorType = $this->arr_val($errorInfo, "ErrorType"); $this->_requestId = $this->arr_val($errorInfo, "RequestId"); $this->_xml = $this->arr_val($errorInfo, "XML"); $this->_responseHeaderMetadata = $this->arr_val($errorInfo, "ResponseHeaderMetadata"); } } private function arr_val($arr, $key) { if(array_key_exists($key, $arr)) { return $arr[$key]; } else { return null; } } /** * Gets error type returned by the service if available. * * @return string Error Code returned by the service */ public function getErrorCode(){ return $this->_errorCode; } /** * Gets error type returned by the service. * * @return string Error Type returned by the service. * Possible types: Sender, Receiver or Unknown */ public function getErrorType(){ return $this->_errorType; } /** * Gets error message * * @return string Error message */ public function getErrorMessage() { return $this->_message; } /** * Gets status code returned by the service if available. If status * code is set to -1, it means that status code was unavailable at the * time exception was thrown * * @return int status code returned by the service */ public function getStatusCode() { return $this->_statusCode; } /** * Gets XML returned by the service if available. * * @return string XML returned by the service */ public function getXML() { return $this->_xml; } /** * Gets Request ID returned by the service if available. * * @return string Request ID returned by the service */ public function getRequestId() { return $this->_requestId; } public function getResponseHeaderMetadata() { return $this->_responseHeaderMetadata; } }