第 11 章 了解 WSDL 中的如何定义端点

摘要

端点表示实例化服务。它们通过将绑定和用于公开端点的网络详情组合来定义。

概述

端点可以被视为服务的物理清单。它组合了一个绑定,用于指定由服务使用的逻辑数据的物理表示,以及一组网络详情,用于定义用于使服务可被其他端点联系的物理连接详情。

注意

CXF 提供程序是 CXF 消费者的服务器,对应于客户端。如果您使用 CXF (camel-cxf)组件作为路由中的起始端点,则端点同时是 Camel consumer 和 CXF 供应商。如果您使用 Camel CXF 组件,作为路由中的端点,则端点都是 Camel producer 和 CXF consumer。

端点和服务

与绑定只能映射单个接口一样,端点只能映射到单个服务。不过,服务可以通过任意数量的端点进行描述。例如,您可以定义一个由四个不同端点的清单销售服务。但是,您无法使用一个端点来记录一个 ticket 销售服务和一个小部件销售服务。

WSDL 元素

端点利用 WSDL 服务 元素和 WSDL 端口 元素的组合在合同中定义。service 元素是相关端口元素 的集合端口 元素定义实际的端点。

WSDL 服务 元素具有一个属性,名为,用于指定唯一名称。service 元素用作相关端口元素集合的父 元素。WSDL 没有有关 端口 元素的规范。您可以以任何方式关联 端口 元素。

WSDL 端口 元素具有一个 绑定 属性,用于指定端点使用的绑定,它引用 wsdl:binding 元素。它还包括 name 属性,这是在所有端口之间提供唯一名称的强制属性。port 元素是元素的父元素,用于指定端点使用的实际传输详细信息。以下部分讨论用于指定传输详情的元素。

在合同中添加端点

Apache CXF 提供命令行工具,可以生成用于预定义服务接口和绑定组合的端点。

这些工具将为您的合同添加正确的元素。但是,建议您了解定义端点工作时使用的不同传输方式。

您也可以使用任何文本编辑器向合同中添加端点。当您手动编辑合同时,您需要确保合同有效。

支持的传输

端点定义是使用为 Apache CXF 支持的每个传输的扩展而定义的扩展。这包括以下传输:

  • HTTP
  • CORBA
  • Java 消息传递服务