我知道我需要将函数的参数作为数组的索引传递。我也明白参数的值是数组索引的对应值。但我无法让我的功能发挥作用。我将变量传递给 WSDL 中的函数,但我什么也没得到。
这是我的PHP代码:
try{
$soap_client = new SoapClient("https://foo.example.com:8443/current/bar?wsdl");
$log_in = array(
"iwsUsername" => "username",
"iwsSecretKey" => "secretKey",
"caller" => "JohnDoe",
"callerPassword" => "password"
);
//passing values into the function parameters above
$request = $soap_client->authenticatedPing($log_in);
echo $request->authenticatedPing;
} catch(SoapFault $exception){
echo '?????';
}
这些显然是出于安全目的的虚假值,但你明白了。
这是此函数的 WSDL:
<wsdl:operation name="authenticatedPing">
<soap12:operation soapAction="" style="rpc"/>
<wsdl:input name="authenticatedPing">
<soap12:body namespace="http://www.example.com" use="literal"/>
</wsdl:input>
<wsdl:output name="authenticatedPingResponse">
<soap12:body namespace="http://www.example.com" use="literal"/>
</wsdl:output>
我究竟做错了什么?