从 PHP 使用 SOAP wsHttpBinding

发布于 2024-10-11 14:35:50 字数 503 浏览 6 评论 0原文

我有一个仅提供 wsHttpBinding Web 服务的服务器,并且需要从 PHP 中使用它。 标准 SoapClient 无法使用它,并给出以下错误:

http://www.w3.org/2005/08/地址/故障:Sendera:ActionMismatch 消息上指定的 SOAP 操作“”与 HTTP SOAP 操作“http://tempuri.org/ICategoryApi/Tree'。 a:动作

是否有一些支持 wsHttpBinding 的 PHP SoapClient 实现或设置?

I have a server that only offers a wsHttpBinding web service and need to use it from PHP.
The standard SoapClient doesn't work with it, giving the following error:

http://www.w3.org/2005/08/addressing/faults:Sendera:ActionMismatch The SOAP action specified on the message, '', does not match the HTTP SOAP Action, 'http://tempuri.org/ICategoryApi/Tree'. a:Action

Is there some PHP SoapClient implementation or setting that supports wsHttpBinding?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

谜兔 2024-10-18 14:35:50

wsHttpBinding 利用 PHP SoapClient 无法处理的 WS-Security 和 WS-Addressing 功能。

根据该错误,我认为该问题与 WS-Addressing 有关(HTTP Action 标头丢失, 标头在 SOAP 消息中丢失)。

看看这是否有帮助:WSO2-WSF PHP

wsHttpBinding makes use of WS-Security and WS-Addressing features that PHP SoapClient can't handle.

Based on the error, I would say the problem is related with WS-Addressing (HTTP Action header missing, <a:Action> header missing in SOAP message).

See if this helps instead: WSO2-WSF PHP.

无悔心 2024-10-18 14:35:50

我发现服务器也有 basicHttpBinding 模式,但是两种绑定模式中的方法具有相同的名称。

问题仍然存在,因为 PHP 默认客户端似乎不允许区分它们,实现重载,因为它按名称调用方法并转到第一个匹配的方法(wsHttpBinding 方法)。

我通过使用nusoap 解决正确的方法解决了这个问题(它很好地完成了这项任务)。

I discovered that the server has the basicHttpBinding mode too, but the methods have same names in both the binding modes.

The problem persisted because the PHP default client seems to not allow to differencing between them, implementing overloading, since it calls the method by name and goes to the first matching (the wsHttpBinding one).

I solved this by using nusoap for addressing the right method (it does this task good).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文