开发者

Using SOAP wsHttpBinding from PHP

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?


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.


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).

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜