php中,如何通过soap传递两个参数,(ms-security下)

molaifeng
博客专家认证
2014-02-27 06:03:21

$xml = '
<wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<wsse:UsernameToken>
<wsse:Username>admin</wsse:Username>
<wsse:Password>PasswordText</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>';

$header = new SoapHeader('http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd', 'CallbackHandler', new SoapVar($xml, XSD_ANYXML), TRUE);

$this->client = new SoapClient($wsdl);
$this->client->__setSoapHeaders(array($header));

$userInfo = turnObjectToArray($this->client->__call('checkUser', array('username' => array('username' => 'username', 'password' => 'password'))));




一运行上述代码,就提示出错

SoapFault exception: [soap:Server] Fault occurred while processing. in


后来连调时,对方看了下log,显示就把username传过去了,password没传过去


传递一个参数时对方是可以接收到的

$info = turnObjectToArray($this->client->__call('getClasses', array('gradeId' => array('gradeId' => $data['id']))));


怎么传递两个参数啊???
...全文
168 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
molaifeng 2014-02-27
  • 打赏
  • 举报
回复
版主的回答给了我启发,在wsdl里看到了要的传的参数,对方在q里说的参数是password,但wsdl里确是pwd,气炸了
molaifeng 2014-02-27
  • 打赏
  • 举报
回复
什么大小写,方法or参数
xuzuning 2014-02-27
  • 打赏
  • 举报
回复
注意大小写 !

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧