Axis/SOAP 服务样式和互操作性
安讯士有四种服务“风格”。
RPC 服务使用 SOAP RPC 约定以及 SOAP“第 5 节”编码。
文档服务不使用任何编码(因此,特别是,您不会在线上看到多引用对象序列化或 SOAP 样式数组),但仍然执行 XML<->Java 数据绑定。
包装服务就像文档服务一样,只不过它们不是将整个 SOAP 主体绑定到一个大结构中,而是将其“展开”为单独的参数。
消息服务接收并返回 SOAP 信封中的任意 XML,无需任何类型映射/数据绑定。如果您想要使用传入和传出 SOAP 信封的原始 XML,请编写消息服务。
那么,如果我使用除第一个选项(SOAP RPC 第 5 节)之外的其他选项,这会对互操作性有何影响?如果有人说他们想要 SOAP 服务(包括 WSDL),这是否意味着需要 SOAP RPC 约定?当另一端没有用Axis实现的时候,其他三种风格还可以用吗?
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 SOAP 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?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我发现了一篇比较 WSDL 的五种不同风格的有趣文章。
似乎前两种 Axis 样式(RPC 和文档)是 WSDL“正式”支持的,第三种(包装)可能是“通常称为文档/文字包装模式的模式”,这似乎也工作。
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.