soapCall($function_name, $arguments, $options, $input_headers, $output_headers)->getResponseContent(); } /** * This is not performing any HTTP requests, but it is getting data from SoapClient that are needed for this Client * * @param string $request Request string * @param string $location Location * @param string $action SOAP action * @param int $version SOAP version * @param int $oneWay 0|1 * * @return string */ public function __doRequest($request, $location, $action, $version, $oneWay = 0) { $soapResponse = $this->performSoapRequest( $request, $location, $action, $version, $this->getSoapAttachmentsOnRequestFromStorage() ); $this->setSoapResponseToStorage($soapResponse); return $soapResponse->getResponseContent(); } /** @deprecated */ public function __getLastRequestHeaders() { $this->checkTracing(); throw new Exception( 'The __getLastRequestHeaders method is now deprecated. Use callSoapRequest instead and get the tracing information from SoapResponseTracingData.' ); } /** @deprecated */ public function __getLastRequest() { $this->checkTracing(); throw new Exception( 'The __getLastRequest method is now deprecated. Use callSoapRequest instead and get the tracing information from SoapResponseTracingData.' ); } /** @deprecated */ public function __getLastResponseHeaders() { $this->checkTracing(); throw new Exception( 'The __getLastResponseHeaders method is now deprecated. Use callSoapRequest instead and get the tracing information from SoapResponseTracingData.' ); } /** @deprecated */ public function __getLastResponse() { $this->checkTracing(); throw new Exception( 'The __getLastResponse method is now deprecated. Use callSoapRequest instead and get the tracing information from SoapResponseTracingData.' ); } private function checkTracing() { if ($this->getSoapClientOptions()->getTrace() === false) { throw new Exception('SoapClientOptions tracing disabled, turn on trace attribute'); } } private function setSoapResponseToStorage(SoapResponse $soapResponseStorage) { $this->soapResponseStorage = $soapResponseStorage; } /** * @param SoapAttachment[] $soapAttachments */ private function setSoapAttachmentsOnRequestToStorage(array $soapAttachments) { $this->soapAttachmentsOnRequestStorage = $soapAttachments; } private function getSoapAttachmentsOnRequestFromStorage() { $soapAttachmentsOnRequest = $this->soapAttachmentsOnRequestStorage; $this->soapAttachmentsOnRequestStorage = null; return $soapAttachmentsOnRequest; } private function getSoapResponseFromStorage() { $soapResponse = $this->soapResponseStorage; $this->soapResponseStorage = null; return $soapResponse; } }