`
SSailYang
  • 浏览: 315560 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

关于 WSDL 样式的两点疑问

阅读更多
这里的 WSDL 样式指的是 WSDL SOAP 绑定的样式:RPC/Encode、RPC/literal、Document/Encode和Document/literal,以及Document/literal-wrap。

对于 WSDL 样式我有两处不解。

一、Document/literal 风格的绑定所产生的 SOAP 消息中没有方法名,那它是如何判断它调用的是哪个方法呢?毕竟,WSDL 所定义的 Web Service 是单一 URL 多方法的模式。莫非是根据 soapAction 的定义。但实际上,根据 SOAP标准的定义,soapAction是可有可无的东西。

二、RPC样式的缺点在于,由于定义了SOAP客户端和服务器端之间的远程方法调用接口,所以增加了客户端与服务器之间的耦合度。而用 Document/literal-wrap 模拟的RPC实际上也包含有所调用的方法的名字。所以,Document/literal-wrap 也具有RPC的较高的耦合的缺点,而在我看来松耦合是 Document/literal 的最大优点。这么看来 Document/literal-wrap 并不是一个很好的选择。是这样吗?

请大家发表一下对这两个问题的看法。
分享到:
评论
3 楼 JAVA_ED 2008-01-23  
of course  your wsdl's already been document/literal wrapped 
如果你要用非wrapped 那不是一句话的事

eg: 
<xsd:element name="oper">
    <xsd:complexType>
       <xsd:sequence>
          <param name="a" type="xsd:int"/>

非wrapped:
<schema>
    <param name="a" type="xsd:int"/>

然后引用的时候改成对应的param就好了
2 楼 SSailYang 2008-01-22  
JAVA_ED 写道
而事实上并不是每次你都需要方法名, 比如简单文档消息 client端和server端做的heartbeat

这个是什么意思?能举具体一点的例子吗?

我上传里一个 WSDL文件(解压即可),有人能解释下像这样的 WSDL 文件用 document/literal (非 wrap的)可以吗?
1 楼 JAVA_ED 2008-01-22  
SSailYang 写道
这里的 WSDL 样式指的是 WSDL SOAP 绑定的样式:RPC/Encode、RPC/literal、Document/Encode和Document/literal,以及Document/literal-wrap。

对于 WSDL 样式我有两处不解。

一、Document/literal 风格的绑定所产生的 SOAP 消息中没有方法名,那它是如何判断它调用的是哪个方法呢?毕竟,WSDL 所定义的 Web Service 是单一 URL 多方法的模式。莫非是根据 soapAction 的定义。但实际上,根据 SOAP标准的定义,soapAction是可有可无的东西。

二、RPC样式的缺点在于,由于定义了SOAP客户端和服务器端之间的远程方法调用接口,所以增加了客户端与服务器之间的耦合度。而用 Document/literal-wrap 模拟的RPC实际上也包含有所调用的方法的名字。所以,Document/literal-wrap 也具有RPC的较高的耦合的缺点,而在我看来松耦合是 Document/literal 的最大优点。这么看来 Document/literal-wrap 并不是一个很好的选择。是这样吗?

请大家发表一下对这两个问题的看法。

Document/literal本来就是缺失方法名的 如果需要方法名 可以用Document/literal-wrap, 而事实上并不是每次你都需要方法名, 比如简单文档消息 client端和server端做的heartbeat

Document/literal-wrap(Document/literal) 相比RPC的优势是 wsdl里会带有soap:body的schema 而在RPC里你无法对它作validation

相关推荐

    wsdl.rar_WSDL

    WSDL有1.1和2.0两个主要版本。WSDL 1.1是最早的版本,被广泛使用;WSDL 2.0则引入了更复杂、更灵活的模型,但兼容性不如1.1版本。此外,还有许多针对特定需求的WSDL扩展,如WS-I(Web Services Interoperability)的...

    简单WSDL实例

    它包含了服务的接口、消息格式、数据类型、绑定和访问点等信息,使得客户端能够根据WSDL文件找到并调用Web服务。在实际开发中,WSDL文件通常由服务提供者生成并发布,然后由服务消费者使用,以实现不同系统间的互...

    wsdl4j 解析wsdl 文件

    WSDL4J是一个Java库,专门用于解析和操作Web服务描述语言(WSDL)文件。WSDL是一种XML格式,用于定义网络服务的接口,包括其输入、输出、操作和服务绑定等信息。理解WSDL4J的工作原理和使用方法对于开发和消费基于...

    WSDL样式详解,soap中Rpc和Document的区别

    SOAP绑定有两大数据样式:RPC(Remote Procedure Call)和Document。 1. RPC样式: - **RPC/Encoded**:此样式将方法名映射为SOAP消息中的根元素,同时在SOAP消息中编码参数类型信息。WSDL示例中展示了`...

    wsdl需要的jar包

    以下是一些关于WSDL和相关jar包的重要知识点: 1. **WSDL结构**:WSDL文件由多个主要元素组成,如`&lt;service&gt;`定义服务接口,`&lt;portType&gt;`定义操作集合,`&lt;binding&gt;`定义传输协议和消息格式,`&lt;port&gt;`定义服务的实例...

    关于wsdl生成java的方式

    【标题】:“关于WSDL生成Java的方式” 在Web服务开发中,WSDL(Web Services Description Language)是一个XML格式的规范,用于定义服务接口、消息交换模式以及如何通过网络调用这些服务。它允许开发者明确地描述...

    wsdl调用测试工具

    在IT行业中,WSDL(Web Services Description Language)是一种XML格式的规范,用于描述Web服务及其接口。它定义了服务提供商和消费者之间的交互方式,包括消息格式、操作、地址和协议等。当我们面对“WSDL调用测试...

    WSDL.rar_C# 解析wsdl文件_WSDL_解析WSDL

    在IT行业中,Web服务是应用程序之间交互的一种标准方式,而WSDL(Web Services Description Language)则是用来定义这些服务接口的XML格式规范。本项目“WSDL.rar”提供了一个C#编写的WSDL解析器,旨在帮助开发者更...

    JavaScript 调用wsdl示例

    JavaScript调用WSDL(Web Service Definition Language)是Web服务客户端编程的一个重要方面,尤其是在需要与SOAP(Simple Object Access Protocol)服务交互时。本示例主要介绍如何在JavaScript中使用不同的库和...

    wsdl.exe-生成wsdl的代码

    - `/service`参数:指定服务的入口点。 - `/out`参数:生成的代理类文件的路径。 示例命令: ``` wsdl /n:MyNamespace /out:C:\GeneratedCode.cs MyAssembly.dll ``` 4. **`wsdl.exe.config`文件** 这个...

    Java2WSDL和WSDL2Java操作指南.doc

    Java2WSDL 和 WSDL2Java 是两种常用的 Web 服务开发工具,分别用于将 Java 类转换为 WSDL 文件和将 WSDL 文件转换为 Java 代码。在本文中,我们将详细介绍 Java2WSDL 和 WSDL2Java 的使用方法和参数设置。 Java2...

    WSDL绑定样式各种组合优劣势比较

    WSDL绑定样式由两个关键属性组成:`style` 和 `use`。这两个属性的不同组合产生了多种绑定模型,每种模型都有其特定的应用场景和优缺点。 - **Style**: 可以是 `RPC` 或 `Document`。 - **RPC (Remote Procedure ...

    不同wsdl样式对应的soap消息格式

    通过示例说明document/literal、document/literal(wrapped)、rpc/encoded、rpc/literal样式的web服务对应的soap消息格式,对于理解webservice有很大好处,尤其是根据wsdl构造soap消息,非常有价值。

    onvif所有 wsdl文件

    WS-Discovery、WS-Profile、WS-Security等是ONVIF协议中的关键部分,其中WS-Device管理和WS-Video等服务使用WSDL(Web Services Description Language)文件来描述其接口和服务。 标题提及的“onvif所有 wsdl文件”...

    使用CXF: Java 2 WSDL

    6. **WSDL的结构与元素**:理解WSDL文件的结构至关重要,其中包括`&lt;wsdl:types&gt;`定义数据类型,`&lt;wsdl:message&gt;`定义通信消息,`&lt;wsdl:portType&gt;`定义服务接口,`&lt;wsdl:binding&gt;`定义通信方式,以及`&lt;wsdl:service&gt;`...

    wsdl4j解析wsdl文件例子代码

    一个用wsdl4j.jar,ws-commons-java5-1.0.1.jar,XmlSchema-1.3.2.jar完全解析wsdl的例子, 本例子原本是xcalia studio中的一个模块,拿来和初次接触的人参考,因为我走了很多弯路,希望别人能少走。

    Postman调用wsdl配置说明

    对于Web Service接口,尤其是基于WSDL(Web Services Description Language)的服务,Postman同样提供了强大的支持。本文将详细阐述如何在Postman中配置并调用WSDL接口。 首先,我们需要理解WSDL。WSDL是一种XML...

    wsdl生成java代码工具

    本篇文章将详细探讨“wsdl生成java代码工具”的相关知识点,以及如何使用这个工具。 1. **WSDL简介**: WSDL文件描述了Web服务的接口,包括服务提供的操作、输入和输出消息的格式,以及服务的位置。它使得开发者...

    wsdl开发步骤详解

    WSDL开发步骤详解 WSDL(Web Services Description Language)是一种基于XML的语言,用于描述Web服务接口。开发WSDL是一种复杂的过程,需要遵循一定的步骤。 创建Web服务项目 首先,打开Workshop,单击File,选择...

    Java 调用wsdl例子

    Java 调用 WSDL 例子 Java 调用 WSDL 例子是指使用 Java 语言来调用远程的 Web 服务,该 Web 服务是通过 WSDL 文件发布的。在 WSDL 文件中,包含了该 Web 服务暴露在外面的接口信息。 WSDL 文件是 Web 服务描述...

Global site tag (gtag.js) - Google Analytics