【发布时间】:2016-12-07 19:33:13
【问题描述】:
我正在尝试制作一个如下所示的肥皂标题:
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Header>
<a-user xmlns="a">testName</a-user>
<a-pass xmlns="a">testPassword</a-pass>
</s:Header>
<s:Body>
...
</s:Body>
</s:Envelope>
我对肥皂很陌生,所以我很确定我只是不明白我应该为 SoapHeader 构造函数的参数输入什么,这是我目前正在尝试的,但它一直失败进行身份验证:
$authHeader = new SoapHeader("http://schemas.xmlsoap.org/soap/envelope/", "Envelope", array("Header" => array("a-user" => "testName", "a-pass" => "testPassword")));
有人可以解释一下我应该如何将该标头从 xml 转换为 php soapheader 吗?
编辑:是的,阿贡,我使用的是真实用户名并通过,我收到 SoapFault 异常,提示“供应商未授权!”当我拨打我的soapCall时。
这是包含的肥皂调用部分:
$this->client->__setSoapHeaders($authHeader);
$response = $this->client->__soapCall("Foo", $params);
【问题讨论】:
-
所以,@uRockNinja,当您说代码 sn-p 中的 Envelope 构造函数是您“当前正在尝试的”时,您的意思不是字面意思,对吗?也就是说,您是在您的真实代码中使用真实的用户名和密码,对吗?如果是这样,您能否更具体地说明您的失败消息或代码?您的代码 sn-p 看起来是一个合理的尝试,因此帮助者可能需要更多信息才能提供帮助。
-
你能添加你所有的肥皂电话部分吗?
标签: php soap soap-client soapheader