gpt4 book ai didi

php - 使用 PHP 发送带有 WSDL Soap 请求的 Soap header

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:04:31 24 4
gpt4 key购买 nike

我对 SOAP 非常陌生,我正在尝试使用 PHP 实现一个使用 ASP.NET Web 服务的快速测试客户端。 Web 服务依赖于包含授权参数的 Soap header 。

使用 WSDL 时是否可以将 auth header 与 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<PendingUser> users, int templateUserId)
{
ateamService.AddPendingUsers(users, templateUserId, AuthorisationHeader.UserId);
}

在这种情况下如何传递 auth header ?或者我需要做一个低杠杆 __soapCall() 来传递标题吗?另外,我是否在 PHP 中调用了正确的 soap 调用?

最佳答案

您应该能够创建一个 header ,然后将其添加到客户端,以便为所有后续请求发送它。您可能需要更改 namespace 参数。

$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

关于php - 使用 PHP 发送带有 WSDL Soap 请求的 Soap header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/589228/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com