第 5 章 了解 WSDL 中的绑定

摘要

绑定将用于定义服务的逻辑消息映射到端点可传输和接收的冲突格式。

概述

绑定在服务用于聚合的数据格式的逻辑消息之间提供桥接,该格式端点在物理世界中使用。它们描述了逻辑消息如何映射到端点在线路上使用的有效负载格式。在绑定中,指定了参数顺序、分散数据类型和返回值等详情。例如,消息的部分可以被重新排序,以反映 RPC 调用所需的顺序。根据绑定类型,您还可以识别哪些消息部分(若有)代表方法的返回类型。

端口类型和绑定

端口类型和绑定直接相关。端口类型是在两个逻辑服务之间一组交互的抽象定义。绑定(绑定) 是指在物理世界中实例化用于实施逻辑服务的消息的定义。然后,每个绑定都与一组网络详情相关联,该详细信息是结束一个端点的定义,这些端点公开由端口类型定义的逻辑服务。

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

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

WSDL 元素

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

实际映射在 binding 元素的子项中定义。这些元素根据您决定使用的有效负载格式类型而有所不同。以下部分阐述了不同的有效负载格式以及用于指定其映射的元素。

添加到合同中

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

该工具将为您添加正确的元素到您的合同中。但是,建议您了解不同类型的绑定的工作原理。

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

支持的绑定

Apache CXF 支持以下绑定:

  • SOAP 1.1
  • SOAP 1.2
  • CORBA
  • pure XML