【问题标题】:SOAP Request/Response based on Style/Use基于样式/用途的 SOAP 请求/响应
【发布时间】:2011-06-10 18:57:47
【问题描述】:

我想知道是否有人可以解释具有以下 wsdl 绑定样式/用途的 Web 服务的 SOAP 请求/响应的差异:

  1. 文档/文字
  2. RPC/文字
  3. 包装文档样式

提前致谢

【问题讨论】:

    标签: soap wsdl


    【解决方案1】:

    IBM DeveloperWorks [Which style of WSDL should I use?] 的这篇文章很好地解释了这些绑定样式之间的差异。简而言之,唯一的区别是 WSDL 文件中 SOAP 绑定“style”属性(“rpc”或“document”)的值以及消息参数和返回值的定义方式(以及它们在SOAP 消息本身):

    [注意问题中项目的重新排序以强调关系]

    1. RPC/literal - WSDL 消息元素定义操作的参数和返回值。
      • 优点:简单的 WSDL,操作名称出现在 SOAP 消息中,符合 WS-I。
      • 缺点:难以验证,因为参数是在 WSDL 而不是 XSD 中定义的。
    2. Document/literal - WSDL 消息部分是对 XML Schema 中定义的元素的引用。
      • 优点:使用 XSD 轻松验证,符合 WS-I,但允许损坏。
      • 缺点:复杂的 WSDL,SOAP 消息不包含操作名称。
    3. 文档/文字包装(或“包装文档样式”) - WSDL 消息输入具有单个输入和输出参数,输入是指与 WSDL 操作具有相同本地名称的 XSD 元素。
      • 优点:易于验证,SOAP 消息包含操作名称,符合 WS-I。
      • 缺点:最复杂的 WSDL(不是官方风格,而是惯例)。

    根据我的经验,#3(文档/文字包装)在大型企业项目中非常常见,因为它对 Microsoft 和 OSS 都友好,并且非常适合自上而下的开发模型(例如,首先是 WSDL/XSD,然后是生成代码工件)。 Microsoft 发明了它[1],流行的 Java/OSS 工具(Axis2JAX-WS)明确支持它。

    “现实世界”的差异可能归结为您选择的工具支持哪些样式,以及支持的程度。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-02-28
      • 1970-01-01
      • 1970-01-01
      • 2023-01-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多