以下是我用来生成请求标头的代码:
$headers = array(
new SOAPHEADER($this->_ns,'username',$this->_username,false, $this->_actor),
new SOAPHEADER($this->_ns,'password',$this->_password,false, $this->_actor));
$this->_client->__setSOAPHeaders($headers);
这会产生:
<SOAP-ENV:Header>
<ns2:username SOAP-ENV:actor="http://schemas.xmlsoap.org/soap/actor/next">test</ns2:username>
<ns2:password SOAP-ENV:actor="http://schemas.xmlsoap.org/soap/actor/next">test</ns2:password>
</SOAP-ENV:Header>
这一切都很好,花花公子。
以下是我的两个问题:
API文档要求用户名为 ns1:username ,密码为 ns2:password 。我的都是ns2。首先,ns1 | 2的意义是什么?我该如何解决这个问题?
第二个问题是,有没有办法通过只调用一次SOAPHEADER()来生成相同的结果?
答案 0 :(得分:0)
$this->_ns
时,他们当然会是一样的。你必须自己提供适当的命名空间(前缀无关紧要,uri确实如此)。