转自:https://technet.microsoft.com/zh-cn/sysinternals/x2ccke44(v=vs.94)

为 XML 文档(定义 Web 服务)定义架构的行业标准 Web 服务描述语言 (WSDL) 提供了两个主要的 SOAP 格式设置选项。这两个选项均在 XML 元素中指定,而不在主 WSDL 命名空间 http://schemas.xmlsoap.org/wsdl/ 中指定,但在命名空间 http://schemas.xmlsoap.org/wsdl/soap/ 中指定。这一次要命名空间可向 SOAP 协议提交 Web 服务。

SOAP 格式设置选项

这两个格式设置选项为:

  • Style:用于子元素,以及 SOAP 消息中 Body 元素可能的二级子项。此选项被指定为 binding WSDL 元素(通常)或 operation 元素的 style 特性。
  • Use:用于 Web 服务方法参数或在下一级别显示的返回值。此选项被指定为 body 元素的 use 特性。

有关 SOAP 规范的详细信息,请参见 W3C 网站 (http://www.w3.org/TR/SOAP)。W3C 网站上还提供了有关 WSDL 规范的详细信息。

Style 特性的允许值

WSDL 允许控制整体 SOAP 正文格式设置的 style 特性采用两个值:

  • RPC:参数或返回值自动放置在自身父级为 SOAP Body 元素的父元素中。参数或返回值显示时不带命名空间限定。SOAP 1.1 规范的第 7 节中介绍了此方案。已指定 style="rpc"

    对于 SOAP 请求,SOAP Body 下的元素根据 WSDL operation 元素(该元素与 Web 服务方法相对应)命名。该元素内的每个元素都表示一个参数,并根据其各自的参数来命名。

    对于 SOAP 响应,SOAP Body 下的元素的名称是追加了 Response 的操作名称。下面的表示返回值的元素名称是操作名称,但带有后缀 Return

  • Document:SOAP Body 元素的内容在 WSDL 中完全指定为在 XML 架构定义中定义的 XML 元素。XML 架构在 WSDL 文档中指定或导入到该文档中。WSDL 并不在意参数和返回值,它只处理 XML 文档。开发人员(或者最好是 Web 服务基础结构)关注参数和返回值如何转换为 XML 架构元素和类型。已指定 style="document"

    顶级 XML 元素被指定为消息的一部分,即,在 message 元素中定义的且指向 XSD 元素声明的 part 元素。通常,最多有一个部分,因此 SOAP Body 内容实际上是一个 XML 文档,但 WSDL 本身并不禁止多个元素。

WSDL 允许控制参数和返回值格式设置的 use 特性采用两个值:

  • Encoded:根据架构来设置格式的数据在 SOAP 1.1 规范的第 5 节中进行了介绍。SOAP 编码将 XML 架构的子集用于 XML 文档与它们所表示的数据之间的绑定。SOAP 编码还对在一个文档中出现多次的元素使用引用。已指定 use="encoded"
  • Literal:根据 XML 架构定义按原义设置格式的数据在 WSDL 文档中指定,或导入到该文档中。已指定 use="literal"

4.使用 WSDL 指定的标准 SOAP 消息格式的更多相关文章

  1. (七)发送、接收SOAP消息(以HttpClient方式)(2)

    一.为什么要用soap 原本我们使用web服务都是根据wsdl生成客户端(生成一堆java文件)然后再调用,本章节讲解如何用soap消息来替代这种方式. 二.SOAP消息格式 SOAP(简单对象访问协 ...

  2. (六)发送、接收SOAP消息(1)

    一.为什么要用soap 原本我们使用web服务都是根据wsdl生成客户端(生成一堆java文件)然后再调用,本章节讲解如何用soap消息来替代这种方式. 二.SOAP消息格式 SOAP(简单对象访问协 ...

  3. 如何在WCF中用TcpTrace工具查看发送和接收的SOAP消息

    WCF对消息加密(只对消息加密,不考虑Authorize)其实很简单,只要在server和client端的binding加入security mode为Message(还有Transport, Tra ...

  4. SOAP消息的传递

    上一篇说了SOAP消息的创建,那么创建好了的SOAP消息要怎么发送给服务端呢? public class SoapTest { private String wsdlUri = "http: ...

  5. JAX-WS创建和处理SOAP消息

    JAX-WS规范是一组XML web services的JAVA API,在 JAX-WS中,一个远程调用可以转换为一个基于XML的协议例如SOAP,在使用JAX-WS过程中,开发者不需要编写任何生成 ...

  6. webservice05#soap消息

    1, SOAPMessage结构图 2, SOAP消息的创建 1>前面的一个简单WebService  服务 package com.yangw.soap.service; import jav ...

  7. webservice系统学习笔记5-手动构建/发送/解析SOAP消息

    手动拼接SOAP消息调用webservice SOAP消息的组成: 1.创建需要发送的SOAP消息的XML(add方法为例子) /** * 创建访问add方法的SOAP消息的xml */ @Test ...

  8. soap消息机制 讲解

    SOAP(Simple Object Access Protocol,简单对象访问协议)作为一种信息交互协议在分布式应用中非常广泛,如WebService.在使用.Net开发WebService时候, ...

  9. Web Service学习之八:Soap消息详解

    一.区别概念 WSDL是网络服务描述语言,是XML文档:它包含一系列描述某个web service的定义或者说是规则.尤其是定义了传输Sope消息的结构 Soap:简单对象访问协议,是交换数据的一种协 ...

随机推荐

  1. LocalDateTime在spring boot中的格式化配置

    在项目中日期格式化是最常见的问题,之前涉及的 java.util.Date 和 java.util.Calendar 类易用性差,不支持时区,非线程安全,对日期的计算方式繁琐,而且容易出错,因为月份是 ...

  2. 微软CEO纳德拉拥抱Linux意欲何为?

    "我不喜欢打一场过时的战争."微软 CEO 萨蒂亚·纳德拉说道,"我想要打一场全新的战役." 上周日晚上.萨蒂亚·纳德拉来到旧金山 North Beach 区的 ...

  3. 78.Nodejs基础中间件Connect

    转自:https://www.cnblogs.com/chris-oil/p/5625437.html 前言 “中间件”在软件领域是一个非常广的概念,除操作系统的软件都可以称为中间件,比如,消息中间件 ...

  4. POJ 1191 记忆化搜索

    (我是不会告诉你我是抄的http://www.cnblogs.com/scau20110726/archive/2013/02/27/2936050.html这个人的) 一开始没有想到要化一下方差的式 ...

  5. 携手互联网企业10巨头设VC基金

    包括小米科技.盛大集团.人人网.掌趣科技.游族网络.龙图游戏.蓝港互动.37游戏.星辉互动娱乐.博雅互动等10家知名互联网企业作为出资人(LP)的优格创投基金近日正式成立. 众所周知,伴随着移动互联网 ...

  6. 多路径软件常用操作(MPIO)

    一:查看存储盘的路径 1. 查看MPIO的存储盘的路径 # lspath (适用于所有存储的MPIO路径查询) # mpio_get_config -Av (适用于DS3K/DS4K的MPIO路径查询 ...

  7. 天意——thinkphp方法名大小写问题

    今天星期六,晚一小时上班.早起后背了会单词就骑自行车上班了.我是个有豪车梦的男生,每看到什么保时捷啊,雷克萨斯啊开过都会呆呆的看一会.现在虽然我买不上车,但是我可以靠我自己先买一台帅气的大摩托啊哈哈. ...

  8. php自定义加密和解密

    <?php function _authcode($string, $operation = 'DECODE', $expiry = 0) { $key = 'c5s1t6o';    $cke ...

  9. 【Uva 10723】Cyborg Genes

    [Link]: [Description] 给你两个串s1,s2; 让你生成一个串S; 使得s1和s2都是S的子列; 要求S最短; 求S的不同方案个数; [Solution] 设两个串的长度分别为n1 ...

  10. Maven学习总结(12)——eclipse中构建多模块maven项目

    摘要:本文要用Maven来构建一个多模块的web项目 项目结构如下: system-parent      |----pom.xml      |----system-domain          ...