SoapClient::__doRequest

(PHP 5, PHP 7, PHP 8)

SoapClient::__doRequestPerforms a SOAP request

说明

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.

参数

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.

返回值

The XML SOAP response.

更新日志

版本 说明
8.0.0 The type of oneWay is bool now; formerly it was int.

示例

示例 #1 SoapClient::__doRequest() example

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

class
LocalSoapClient extends SoapClient {
private
$server;

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 = false): ?string {
ob_start();
$this->server->handle($request);
$response = ob_get_contents();
ob_end_clean();
return
$response;
}

}

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

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top