当前位置:  开发笔记 > 编程语言 > 正文

使用PHP发送带有WSDL Soap请求的Soap Header

如何解决《使用PHP发送带有WSDLSoap请求的SoapHeader》经验,为你挑选了1个好方法。

我是SOAP的新手,我正在尝试在PHP中实现一个使用ASP.NET Web服务的快速测试客户端.Web服务依赖于包含授权参数的Soap Header.

使用WSDL时是否可以发送auth标头和soap请求?

我的代码:

PHP
$service = new SoapClient("http://localhost:16840/CTI.ConfigStack.WS/ATeamService.asmx?WSDL");
$service->AddPendingUsers($users, 3); // Example
网络服务
[SoapHeader("AuthorisationHeader")]
[WebMethod]
public void AddPendingUsers(List users, int templateUserId)
{
    ateamService.AddPendingUsers(users, templateUserId, AuthorisationHeader.UserId);
}

如何在此上下文中传递auth标头?或者我需要做一个低杠杆__soapCall()传递标题?另外,我在PHP中调用正确的soap调用吗?



1> Tom Haigh..:

您应该能够创建标头,然后将其添加到客户端,以便为所有后续请求发送它.您可能需要更改名称空间参数.

$service = new SoapClient("http://localhost:16840/CTI.ConfigStack.WS/ATeamService.asmx?WSDL");
//                        Namespace               Header Name          value   must-understand
$header = new SoapHeader('http://tempuri.org/', 'AuthorisationHeader', $value, false);
$service->__setSoapHeaders(array($header));   

$service->AddPendingUsers($users, 3); // Example

更多信息在这里

推荐阅读
谢谢巷议
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有