如何解决被调用函数元素上的SoapClient属性
如何为通过SoapClient调用的soap方法的XML节点添加属性?
长话->
我想通过SOAP API(https://files.zimbra.com/docs/soap_api/8.6.0/api-reference/zimbraAdmin/Auth.html)从Zimbra获得身份验证令牌。当我自己构建soap xml时,我可以做到
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:zimbra" xmlns:urn1="urn:zimbraAdmin">
<soapenv:Header>
<urn:context />
</soapenv:Header>
<soapenv:Body>
<urn1:AuthRequest name="'. $user .'" password="'. $password .'" />
</soapenv:Body>
</soapenv:Envelope>
但是在使用时,我无法在 AuthRequest (我正在调用的肥皂端点)上将 name 和 password 属性作为属性SoapClient:
$soap = new SoapClient(ZIMBRA_WSDL,array('trace' => true));
$result = $soap->authRequest(
array(
new SoapParam(ZIMBRA_ADMIN,'account'),new SoapParam(ZIMBRA_PASSWORD,'password')
)
);
无论我尝试什么,它都会为AuthRequest始终生成新的子元素。 有人可以帮忙吗? 我尝试了很多没有成功的建议。
解决方法
问题是在不同的命名空间中有两种方法authRequest。我将WSDL URL更改为仅检索zimbraAdmin端点,然后SoapClient能够通过以下方式正确填写请求:
fill
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。