`
SSailYang
  • 浏览: 312667 次
  • 性别: 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实例

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

    wsdl4j 解析wsdl 文件

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

    wsdl需要的jar包

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

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

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

    wsdl.rar_WSDL

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

    关于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解析器,旨在帮助开发者更...

    wsdl.exe-生成wsdl的代码

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

    JavaScript 调用wsdl示例

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

    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中的一个模块,拿来和初次接触的人参考,因为我走了很多弯路,希望别人能少走。

    wsdl生成java代码工具

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

    Postman调用wsdl配置说明

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

    wsdl开发步骤详解

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

Global site tag (gtag.js) - Google Analytics