我创建了一个SOAP客户端,如下所示:
$client = new SoapClient("file.wsdl");
Run Code Online (Sandbox Code Playgroud)
然后当我想调用API函数时
$client->Authenticate("user", "password");
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
格式化程序在尝试反序列化消息时抛出异常:
对操作'Authenticate'反序列化请求消息体时出错.从命名空间' http://schemas.xmlsoap.org/soap/envelope/ ' 结束元素'Body' .从命名空间''找到元素'param1'.
但是当我尝试在数组中传递参数时,它可以工作,但是我得到了下一个错误:
["errorMessage"]=>
string(35) "ORA-01008: not all variables bound
Run Code Online (Sandbox Code Playgroud)
我的问题是:如何将PHP中的参数传递给SOAP客户端?他们必须在阵列中吗?
oez*_*ezi 10
你应该为参数传递一个数组并给出你的参数名称(可以在wsdl文件中找到).你的情况,其结果应该是这样的(假设参数的名称应param1与param2该错误消息的基础上):
$client->Authenticate(array('param1'=>"user", 'param2'=>"password"));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
26401 次 |
| 最近记录: |