开发者

Axis/SOAP service styles and interoperability

There are four "styles" of service in Axis.

RPC services use the SOAP RPC conventions, and also the SOAP "section 5" encoding.

Document services do not use any encoding (so in particular, you won't see multiref object serialization or SOAP-style arrays on the wire) but DO still do XML<->Java databinding.

Wrapped services are just like document services, except that rather than binding the entire SOAP body into one big structure, they "unwrap" it into individual parameters.

Message services receive and return arbitrary XML in the SOA开发者_Go百科P Envelope without any type mapping / data binding. If you want to work with the raw XML of the incoming and outgoing SOAP Envelopes, write a message service.

So, if I use anything else except the first option(SOAP RPC Section 5), how does this impact interoperability? If someone says they want a SOAP service (including WSDL), does this mean that SOAP RPC conventions are expected? Can the other three styles still be used when the other end is not implemented with Axis?


I found an interesting article that compares five different styles of WSDL.

It seems that the first two Axis styles (RPC and document) are "officially" supported by WSDL, and the third one (wrapped) could be the "a pattern which is commonly called the document/literal wrapped pattern", which also seems to work.

0

上一篇:

下一篇:

精彩评论

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

最新问答

问答排行榜