函数名称:SoapClient::__soapCall()
适用版本:PHP 5, PHP 7
用法:SoapClient::__soapCall() 方法用于调用 SOAP 服务的方法。
语法:public mixed SoapClient::__soapCall ( string $function_name , array $arguments [, array $options [, mixed $input_headers [, array &$output_headers ]]] )
参数:
- function_name: 要调用的方法的名称。
- arguments: 传递给方法的参数。参数可以是一个单独的值,或者是一个包含参数的关联数组。
- options(可选): 一个关联数组,其中包含用于调用方法的选项。
- input_headers(可选): 一个数组,其中包含要添加到 SOAP 消息的输入头。
- output_headers(可选): 一个数组,用于存储从 SOAP 服务返回的输出头。
返回值:如果成功,则返回方法的结果。如果失败,则返回 FALSE。
示例:
// 创建 SoapClient 对象
$client = new SoapClient("http://example.com/soap-service?wsdl");
// 调用 SOAP 服务上的方法
$result = $client->__soapCall("MethodName", array("param1" => "value1", "param2" => "value2"));
// 检查调用是否成功
if ($result === false) {
// 处理调用失败的情况
echo "SOAP调用失败!";
} else {
// 处理调用成功的情况
echo "SOAP调用成功!";
var_dump($result);
}
在上面的示例中,我们首先创建了一个 SoapClient 对象,传递了 SOAP 服务的 WSDL 文件地址。然后,我们使用 __soapCall() 方法调用了 SOAP 服务上的一个方法,传递了方法名称和参数。最后,我们检查调用是否成功,并根据结果进行相应的处理。
请注意,如果 SOAP 服务返回的是一个复杂类型的对象,可以使用 var_dump() 函数打印结果,以便更好地了解返回值的结构和内容。