我对 SOAP 非常陌生,我正在尝试用 PHP 实现一个使用 ASP.NET Web 服务的快速测试客户端。 Web 服务依赖于包含授权参数的 Soap 标头。
使用 WSDL 时是否可以将 auth 标头与肥皂请求一起发送?
My code:
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<PendingUser> users, int templateUserId)
{
ateamService.AddPendingUsers(users, templateUserId, AuthorisationHeader.UserId);
}
在此上下文中如何传递 auth 标头?或者我需要做一个低杠杆 __soapCall() 来传递标头吗?另外,我是否在 PHP 中调用了正确的肥皂调用?
您应该能够创建标头,然后将其添加到客户端,以便为所有后续请求发送该标头。您可能需要更改命名空间参数。
$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
更多信息here http://uk.php.net/manual/en/soapheader.construct.php
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)