Performs a SOAP request

- « SoapClient::__construct

- SoapClient::__getCookies »

- PHP Manual
- SoapClient
- Performs a SOAP request

# SoapClient::__doRequest

(PHP 5, PHP 7, PHP 8)

SoapClient::__doRequest — Performs a SOAP request

### Description

public SoapClient::__doRequest(
string `$request`,
string `$location`,
string `$action`,
int `$version`,
bool `$oneWay` = `false`
): ?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.

### Parameters

`request`

  The XML SOAP request.

`location`

  The URL to request.

`action`

  The SOAP action.

`version`

  The SOAP version.

`oneWay`

  If `oneWay` is set to `true`, this method returns nothing. Use this where a response is not expected.

### Return Values

The XML SOAP response.

### Changelog

Version | Description
--- | ---
8.0.0 | The type of `oneWay` is bool now; formerly it was int.

### Examples

Example #1 SoapClient::__doRequest() example

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