SoapClient::__doRequest

(PHP 5, PHP 7)

SoapClient::__doRequestPerforms a SOAP request

说锟斤拷

public SoapClient::__doRequest ( string $request , string $location , string $action , int $version [, int $one_way = 0 ] ) : string

Performs SOAP request over HTTP.

This method can be overridden in subclasses to implement different transport layers, perform additional XML processing or other purpose.

锟斤拷锟斤拷

request

The XML SOAP request.

location

The URL to request.

action

The SOAP action.

version

The SOAP version.

one_way

If one_way is set to 1, this method returns nothing. Use this where a response is not expected.

锟斤拷锟斤拷值

The XML SOAP response.

锟斤拷锟斤拷锟斤拷志

锟芥本 说锟斤拷
5.1.3 The one_way parameter was added.

锟斤拷锟斤拷

Example #1 SoapClient::__doRequest() example

<?php
function Add($x,$y) {
  return 
$x+$y;
}

class 
LocalSoapClient extends SoapClient {

  function 
__construct($wsdl$options) {
    
parent::__construct($wsdl$options);
    
$this->server = new SoapServer($wsdl$options);
    
$this->server->addFunction('Add');
  }

  function 
__doRequest($request$location$action$version$one_way 0) {
    
ob_start();
    
$this->server->handle($request);
    
$response ob_get_contents();
    
ob_end_clean();
    return 
$response;
  }

}

$x = new LocalSoapClient(NULL,array('location'=>'test://'
                                   
'uri'=>'http://testuri.org')); 
var_dump($x->Add(3,4));
?>