使用 WSDL 指定的标准 SOAP 消息格式

为 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 网站 ()。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"。

posted @   快乐的小鸟6  阅读(478)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
点击右上角即可分享
微信分享提示