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

摘要

端点代表实例化服务。它们通过将绑定和用于公开端点的网络详情进行定义。

概述

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

注意

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

端点和服务

与绑定只能映射单个接口一样,端点只能映射到单个服务。但是,服务可以被任意数量的端点清单。例如,您可以定义一个由四个不同端点清单的票据销售服务。但是,您不能有一个端点,它同时引用了一个 ticket 销售服务和一个小部件销售服务。

WSDL 元素

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

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

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

在合同中添加端点

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

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

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

支持的传输

端点定义使用为每个传输定义的扩展 Apache CXF 进行构建。这包括以下传输:

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