第 5 章 了解 WSDL 中的绑定

摘要

绑定将用于定义服务的逻辑消息映射到端点可以传输和接收的有效载荷格式。

概述

绑定为服务使用的逻辑消息提供网桥,用于隔离端点在物理世界中使用的数据格式。它们描述了逻辑消息如何映射到端点线上所用载荷格式。它在绑定中指定了参数顺序、concrete 数据类型和返回值。例如,消息的部分可以在绑定中重新排序,以反映 RPC 调用所需的顺序。根据绑定类型,您还可以识别消息部分(若有)代表方法的返回类型。

端口类型和绑定

端口类型和绑定直接相关。端口类型是两个逻辑服务之间一组交互的抽象定义。绑定是实施逻辑服务将如何在物理世界实例化的用于实施逻辑服务的消息的结盟定义。然后,每个绑定都与一组网络详细信息关联,以完成一个端点的定义,该端点公开了端口类型定义的逻辑服务。

为确保端点仅定义了单个服务,WSDL 要求绑定只能表示单个端口类型。例如,如果您有一个具有两个端口类型的合同,则无法写入将这两个映射为共用数据格式的单个绑定。您需要两个绑定。

但是,WSDL 允许将端口类型映射到多个绑定。例如,如果您的合同具有单一端口类型,您可以将其映射到两个或者多个绑定。每个绑定都可以改变消息的部分映射方式,也可以为消息指定完全不同的有效负载格式。

WSDL 元素

使用 WSDL 绑定元素在合同中定义绑定。绑定元素由 名称 等属性组成,用于指定提供 PortType 引用的绑定和 类型 的唯一名称。此属性的值用于将绑定与端点关联,如 第 4 章 定义逻辑接口 中所述。

实际映射在 绑定 元素的子项中定义。这些元素根据您决定使用的有效负载格式类型而有所不同。以下章节中讨论不同的有效载荷格式以及用于指定其映射的元素。

添加到合同

Apache CXF 提供命令行工具,可以生成预定义服务接口的绑定。

这些工具将为您的合同添加正确的元素。但是,建议您了解不同类型的绑定如何工作。

您还可以使用任何文本编辑器向合同添加绑定。手动编辑合同时,您需要确保合同有效。

支持的绑定

Apache CXF 支持以下绑定:

  • SOAP 1.1
  • SOAP 1.2
  • CORBA
  • Pure XML