我正在尝试解决 SoapClient 似乎没有将参数插入 SOAP 请求的问题。
简单的测试在与网站相同的服务器上运行的 Web 服务失败,即 Windows 8 Server 和 IIS 7.1 上的 PHP 5.3.13。这在两天前一直有效,但现在失败了。除了更新之外,我不知道服务器安装的任何更改。
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) 是:
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://tempuri.org/"><SOAP-ENV:Body><ns1:GetData/></SOAP-ENV:Body></SOAP-ENV:Envelope>
我假设应该有字符串 'Hello' 之间
<SOAP-ENV:Body><ns1:GetData/></SOAP-ENV:Body>
标签,对吧?
在故障排除过程中,我一直在使用许多不同的方法,例如获得相同结果的肥皂 __call。服务器已重新启动。我已经尝试了所有我能想到的并找到尝试的方法。
有没有人见过这个或有一个想法?