/** * Factory function for SoapResponse. * * @param string $content Content * @param string $location Location * @param string $action SOAP action * @param string $version SOAP version * * @return BeSimple\SoapClient\SoapResponse */ public static function create($content, $location, $action, $version) { $response = new SoapResponse(); $response->setContent($content); $response->setLocation($location); $response->setAction($action); $response->setVersion($version); $contentType = SoapMessage::getContentTypeForVersion($version); $response->setContentType($contentType); return $response; }
/** * Runs the currently registered request filters on the request, calls the * necessary functions (through the parent's class handle()) and runs the * response filters. * * @param SoapRequest $soapRequest SOAP request object * * @return SoapResponse */ public function handle2(SoapRequest $soapRequest) { // run SoapKernel on SoapRequest $this->soapKernel->filterRequest($soapRequest); // call parent \SoapServer->handle() and buffer output ob_start(); parent::handle($soapRequest->getContent()); $response = ob_get_clean(); // wrap response data in SoapResponse object $soapResponse = SoapResponse::create($response, $soapRequest->getLocation(), $soapRequest->getAction(), $soapRequest->getVersion()); // run SoapKernel on SoapResponse $this->soapKernel->filterResponse($soapResponse); return $soapResponse; }