Apache CXF开发Web Service 理解CXF Frontends之CodeFirst

CXF前端(Frontend)是编程使用的API,用来开发和对外暴露Web Services。CXF提供两种类型的前端(Frontend):JAX-WS和简单前端(Simple Frontend)。本节将详细介绍JAX-WS前端。

JAX-WS前端

Code-First方式

创建Service Endpoint Interface ( SEI)

添加Java注解

发布服务

开发客户端

运行Web Service

JAX-WS前端

CXF支持由Java Community Process (JCP)提供的JAX-WS 2.0 API规范。CXF实现了JAX-WS规范。

JAX-WS提供了两种方式来创建Web Service:Code-First和Contract-First。

Code-First:先创建Java类然后基于Java类生成Web Service组件。一般用于输入/输出对象格式简单,并希望快速部署应用。Code-First的方式正如开发普通的JAVA应用一样,不用关心WSDL和XSD的生成,也不必维护JAVA对象和XML元素的映射关系。只需要在JAVA类中注明,CXF中的工具Java2WSDL会为你完成这些工作。

Contract-First:开发者基于WSDL规范来编写将要暴露的Web Service。Contract-First的方式适用于你已经定义好Web Service操作的输入/输出的消息格式,或者想更好的控制XML与JAVA对象之间的映射关系。Contract-First开发模式要求你精通XSD和WSDL规范。

想更深一步了解请看:《代码优先(Code-First)和契约优先(Contract-First)的比较

Code-First方式:

Code-First方式需求完成的工作有:

创建Service Endpoint Interface ( SEI)

添加Java注解

发布服务

开发客户端

创建Service Endpoint Interface ( SEI):

Service Endpoint Interface与JAVA Interface类似,定义了业务的服务方法。你可以从零开始开发SEI,或者将现有的业务功能转换为基于服务的组件。

从零开始就是说,没有任何代码或WSDL约束,重新开发Web Service。适用于先创建接口后编写实现代码。将现有代码转换,就是利用已经存在的业务功能,将其转换为基于服务的组件。大部分情况是我们拥有已经实现好的业务逻辑,只是需要将其暴露为Web Service方法。我们可以开发SEI并定义哪些业务方法需要暴露出去,很轻松的实现普通业务到基于服务的转变。

原文地址:https://www.cnblogs.com/bjanzhuo/p/3575995.html