转自: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. Spring学习总结(13)——Spring+Log4j+ActiveMQ实现远程记录日志

    应用场景 随着项目的逐渐扩大,日志的增加也变得更快.Log4j是常用的日志记录工具,在有些时候,我们可能需要将Log4j的日志发送到专门用于记录日志的远程服务器,特别是对于稍微大一点的应用.这么做的优 ...

  2. 洛谷 P1407 工资

    P1407 工资 题目描述 有一家世界级大企业,他们经过调查,发现了一个奇特的现象,竟然在自己的公司里,有超过一半的雇员,他们的工资完全相同! 公布了这项调查结果后,众多老板对于这一现象很感兴趣,他们 ...

  3. 洛谷 P2839 畅通工程

    P2839 畅通工程 题目描述 某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每条道路直接连通的城镇.省政府“畅通工程”的目标是使全省任何两个城镇间都可以实现交通(但不一定有直接的道路相连, ...

  4. 改动npm包管理器的registry为淘宝镜像(npm.taobao.org)

    起因 安装了node.安装了npm之后,官方的源实在是 太慢了! 看了看淘宝的npm镜像, http://npm.taobao.org/  居然说让我再下载一个cnpm,要不然就每次都得install ...

  5. 算法导论————KMP

    [例题传送门:caioj1177] KMP模版:子串是否出现 [题意]有两个字符串SA和SB,SA是母串,SB是子串,问子串SB是否在母串SA中出现过.如果出现过输出第一次出现的起始位置和结束位置,否 ...

  6. 2015北京网络赛 G Boxes BFS+打表

    G Boxes 题意:n个位置摆有n个箱子,每次移动只能把相邻的垒起来,且上面的必须小于下面的.求摆成升序需要移动多少步. 思路:这里的n很小,只有7.但是bfs最快的情况需要2s左右,所以就打表了. ...

  7. java线程深入学习

    一.java中的线程是通过Thread类创建的, //下面是构造函数,一个共同的特点就是:都是调用init()进行创建的 public Thread() { init(null, null, &quo ...

  8. 在C# 获取当前应用网址

    /// <summary>        /// 获取当前应用网址        /// </summary>        /// <returns></r ...

  9. java关于File.separator

    写好代码在模拟环境下测试,完全没问 题:但linux+tomcat下用的时候,却老是报告“No such file or diretory ”的异常,上传不了.后来发现是文件路径的问题.我的模拟测试环 ...

  10. MongoDB常用操作整理

    Mongodb:是一种NoSQL数据库,NoSQL:Not Only SQLSQL: 数据表->JDBC读取->POJO(VO.PO)->控制层转化为JSON数据->客户端 这 ...