PhpRiot
Become Zend Certified

Prepare for the ZCE exam using our quizzes (web or iPad/iPhone). More info...


When you're ready get 7.5% off your exam voucher using voucher CJQNOV23 at the Zend Store

SoapClient::__doRequest

(PHP 5 >= 5.0.1)

SoapClient::__doRequestPerforms a SOAP request

Description

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

Performs SOAP request over HTTP.

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

Parameters

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.

Return Values

The XML SOAP response.

Changelog

Version Description
5.1.3 The one_way parameter was added.

Examples

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));
?>

PHP Manual