【发布时间】:2012-05-16 16:20:14
【问题描述】:
我是第一次使用 SOAP Web 服务,但在调用 SOAP 服务器时遇到了问题。我搜索了 WSDL SOAP 请求,但我无法解决我的问题。这是我的 WSDL 的 sn-p
<s:complexType name="VerHeader">
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="HD1" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="HD2" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="HD3" type="s:string"/>
</s:sequence>
<s:anyAttribute/>
</s:complexType>
我必须在这些 HD1、HD2 和 HD3 变量中发送用户名、密码和一些 ID。我也试过这些链接Passing a PHP array in a SOAP call和Sending a Soap Header with a WSDL Soap Request with PHP
这是我尝试过但不起作用的方法,每次我运行我的代码时它都会发送失败消息,你能弄清楚我的代码或我的逻辑有什么问题吗?
$soap = new SoapClient("http://example.com/verifyrecord.asmx?WSDL");
$header = array('HD1'=>'000000023','HD2'=>'val2','HD3'=>'val2');
$header = new SoapHeader('http://www.example.com/', 'VerHeader ', $header);
$soap->__setSoapHeaders(array($header));
【问题讨论】:
-
您收到的失败信息是什么
-
failure message 是 SOAP 服务器发送的自定义失败消息。我担心我传递的数组可能不是正确的结构,它让我由于身份验证而发送失败消息。我只想根据我的 SOAP 服务器标头验证数组的结构是否正确
-
@utta:linked question 应该回答你。此外,有时运行 Web 服务的人也做得不好,所以当您确认自己做得对时,请联系他们的技术支持。
标签: php web-services soap wsdl soap-client