基于样式/用途的SOAP请求/响应

基于样式/用途的SOAP请求/响应,soap,wsdl,Soap,Wsdl,我想知道是否有人可以用以下wsdl绑定样式/用法解释Web服务的SOAP请求/响应的差异: 文档/文字 RPC/文字 包装文档样式 提前感谢这篇来自IBM DeveloperWorks[]的文章对这些绑定样式之间的差异进行了很好的解释。简而言之,唯一的区别是WSDL文件中SOAP绑定“样式”属性(“rpc”或“文档”)的值以及消息参数和返回值的定义方式(以及它们在SOAP消息中的显示方式): [注意问题中项目的重新排序,以强调关系] RPC/literal-WSDL消息元素定义操作的参数和返回值

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

  • 文档/文字
  • RPC/文字
  • 包装文档样式

  • 提前感谢

    这篇来自IBM DeveloperWorks[]的文章对这些绑定样式之间的差异进行了很好的解释。简而言之,唯一的区别是WSDL文件中SOAP绑定“样式”属性(“rpc”或“文档”)的值以及消息参数和返回值的定义方式(以及它们在SOAP消息中的显示方式):

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

  • RPC/literal-WSDL消息元素定义操作的参数和返回值。
    • 优点:简单的WSDL,操作名称出现在SOAP消息中,符合WS-I
    • 缺点:很难验证,因为参数是在WSDL而不是XSD中定义的
  • Document/literal-WSDL消息部分是对XML模式中定义的元素的引用。
    • 优点:容易用XSD验证,WS-I兼容,但允许破坏
    • 缺点:复杂的WSDL,SOAP消息不包含操作名
  • 文档/文字包装(或“包装文档样式”)-WSDL消息输入具有单个输入和输出参数,输入引用与WSDL操作具有相同本地名称的XSD元素。
    • 优点:易于验证,SOAP消息包含操作名,符合WS-I
    • 缺点:最复杂的WSDL(不是官方样式,而是约定)
  • 根据我的经验,#3(文档/文字包装)在大型企业项目中非常常见,因为它对Microsoft和OSS都很友好,并且非常适合自顶向下的开发模型(例如,首先是WSDL/XSD,然后生成代码工件)。微软发明了它,流行的Java/OSS工具(,)明确支持它

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