PHP&;SoapClient:SOAP请求中缺少参数
我试图解决一个问题,即SoapClient似乎没有将参数插入SOAP请求中 该简单测试无法测试与网站运行在同一服务器上的web服务,即Windows8服务器上的PHP5.3.13和IIS 7.1。就在两天前,这种方法还有效,但现在失败了。除了更新之外,我不知道服务器安装有任何更改PHP&;SoapClient:SOAP请求中缺少参数,php,web-services,soap-client,Php,Web Services,Soap Client,我试图解决一个问题,即SoapClient似乎没有将参数插入SOAP请求中 该简单测试无法测试与网站运行在同一服务器上的web服务,即Windows8服务器上的PHP5.3.13和IIS 7.1。就在两天前,这种方法还有效,但现在失败了。除了更新之外,我不知道服务器安装有任何更改 function simpleTest(){ $client = new SoapClient("http://server-sql:78/PCIWCTest/Service1.svc?wsdl",
function simpleTest(){
$client = new SoapClient("http://server-sql:78/PCIWCTest/Service1.svc?wsdl", array( "trace" => 1 ));
$result = $client->__soapCall("GetData",
array('GetData'=> array('parameters'=> 'Hello')),
array('soapaction' => 'http://server-sql:78/PCIWCTest/GetData'));
$requXML = $client->__getLastRequest();
$respXML = $client->__getLastResponse();
debug($requXML);
debug($respXML);
}
结果请求($requXML)是:
我假设两个字符之间应该有字符串“Hello”
<SOAP-ENV:Body><ns1:GetData/></SOAP-ENV:Body>
标签,对吗
在故障排除过程中,我使用了许多不同的方法,例如soap调用,但结果相同。服务器已重新启动。我已经尝试了我能想到的一切,并且找到了可以尝试的方法
以前有人看到过或有想法吗?在本例中,我发现我发送的参数与Web服务代码中的参数名称不完全相同。通过更改上述内容:
array('GetData'=> array('parameters'=> 'Hello')),
致:
调用正常,参数不再为空!我不知道;我不知道这种行为在这种情况下是否是唯一的,但以我有限的经验,我还没有见过这样一种情况,即它与另一端的参数命名有关系
无论如何,这个问题已经解决了。希望这对别人有帮助 直接在客户机
对象上调用“GetData”方法会产生相同的问题结果吗?我假设您在这里使用\uu
方法进行调试,对吗?是和是$client->(GetData,$params)生成相同的结果。我还尝试根据一些建议设置参数的类型,并将参数封装在另一个数组中,但没有效果。
array('GetData'=> array('parameters'=> 'Hello')),
array('GetData'=> array('value'=> 'Hello')),