/**
  * 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;
 }