Example #1
0
 /**
  * Debug (trace) info
  *
  * @param string $function_name
  * @param array $arguments
  * @param null $options
  * @param null $input_headers
  * @param null $output_headers
  *
  * @return mixed
  */
 public function __soapCall($function_name, $arguments, $options = null, $input_headers = null, &$output_headers = null)
 {
     $exception = null;
     try {
         $return = parent::__soapCall($function_name, $arguments, $options, $input_headers, $output_headers);
     } catch (SoapFault $e) {
         $exception = $e;
     }
     if ($this->isTrace) {
         echo sprintf("Request: \n%s\n\nResponse:\n%s\n---------------------\n", $this->__getLastRequest(), $this->__getLastResponse());
     }
     if ($exception) {
         $return = new Response();
         $return->setIsSuccessful(false);
         $message = new Message();
         $message->setCode($exception->getCode());
         $message->setLevel($exception->getCode());
         $message->setMessageDescription($exception->getMessage());
         $return->getMessages()->setMessage(array($message));
     }
     return $return;
 }