构建基于CXF的WebService服务(1)--创建HelloWorld服务
2020-12-13 02:52
标签:web services cxf webservice Apache CXF = Celtix+ XFire,开始叫 Apache CeltiXfire,后来更名为 Apache CXF 了,以下简称为 CXF。CXF 继承了 Celtix 和XFire 两大开源项目的精华,提供了对 JAX-WS全面的支持,并且提供了多种Binding 、DataBinding、Transport 以及各种 Format 的支持,并且可以根据实际项目的需要,采用代码优先(Code First)或者 WSDL 优先(WSDL First)来轻松地实现 Web
Services 的发布和使用。Apache CXF已经是一个正式的Apache顶级项目。 CXF 支持多种 Web Services
标准,包含 SOAP、Basic Profile、WS-Addressing、WS-Policy、WS-ReliableMessaging 和 WS-Security。Frontends:CXF 支持多种“Frontend”编程模型,CXF 实现了 JAX-WS API (遵循 JAX-WS 2.0 TCK 版本),它也包含一个“simple
frontend”允许客户端和 EndPoint 的创建,而不需要 Annotation 注解。CXF 既支持 WSDL 优先开发,也支持从 Java 的代码优先开发模式。容易使用: CXF 设计得更加直观与容易使用。有大量简单的 API 用来快速地构建代码优先的 Services,各种 Maven 的插件也使集成更加容易,支持 JAX-WS API ,支持 Spring 2.0 更加简化的 XML 配置方式,等等。支持二进制和遗留协议:CXF
的设计是一种可插拨的架构,既可以支持 XML ,也可以支持非 XML 的类型绑定,比如:JSON 和 CORBA。 -----------------------摘自《百度百科》----------------------- 类描述: WebService服务端接口 修改人:Jaune 修改时间:2014-5-8 上午11:54:38 修改备注: 类描述: WebService的具体实现 修改人:Jaune 修改时间:2014-5-8 上午11:56:09 类描述: WebService服务 修改人:Jaune 修改时间:2014-5-8 上午11:59:02 只需要在路径中指定端口和路径就可以用Endpoint的publish方法来发布一个WebService服务 类描述: 利用JaxWsServerFactoryBean 创建服务 修改人:Jaune 修改时间:2014-5-10 上午08:55:05
类描述: 修改人:Jaune 修改时间:2014-5-8 下午02:22:48
类描述: JaxWsDynamicClientFactory动态调用,可以不关心接口,只关心方法 修改人:Jaune 修改时间:2014-5-10 上午09:09:46 构建基于CXF的WebService服务(1)--创建HelloWorld服务,搜素材,soscw.com 构建基于CXF的WebService服务(1)--创建HelloWorld服务 标签:web services cxf webservice 原文地址:http://blog.csdn.net/jaune161/article/details/254952891、Apache CXF简介
2、CXF依赖包
commons-codec-1.7.jar
commons-collections-3.2.1.jar
commons-lang-2.6.jar
commons-logging-1.1.1.jar
cxf-2.7.7.jar
geronimo-servlet_3.0_spec-1.0.jar
jetty-continuation-8.1.12.v20130726.jar
jetty-http-8.1.12.v20130726.jar
jetty-io-8.1.12.v20130726.jar
jetty-security-8.1.12.v20130726.jar
jetty-server-8.1.12.v20130726.jar
jetty-util-8.1.12.v20130726.jar
neethi-3.0.2.jar
stax2-api-3.1.1.jar
woodstox-core-asl-4.2.0.jar
wsdl4j-1.6.3.jar
xmlschema-core-2.0.3.jar
3、创建HelloWorld服务
3.1创建HelloWorld接口
package com.tiamaes.webservice.test;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebService;
/**
*
@WebMethod 标注要暴露的方法 @WebParam要暴露的参数
3.2创建HelloWorld实现类
package com.tiamaes.webservice.test.impl;
import javax.jws.WebService;
import com.tiamaes.webservice.test.HelloWorldService;
/**
*
实现也需要加上@WebService注解,并且在endpointInterface中指定接口类。4、创建服务端
4.1、方法一
package com.tiamaes.webservice.server;
import javax.xml.ws.Endpoint;
import com.tiamaes.webservice.test.HelloWorldService;
import com.tiamaes.webservice.test.impl.HelloWorldServiceImpl;
/**
*
4.2、方法二
package com.tiamaes.webservice.server;
import org.apache.cxf.interceptor.LoggingInInterceptor;
import org.apache.cxf.interceptor.LoggingOutInterceptor;
import org.apache.cxf.jaxws.JaxWsServerFactoryBean;
import com.tiamaes.webservice.test.HelloWorldService;
import com.tiamaes.webservice.test.impl.HelloWorldServiceImpl;
/**
*
Endpint与JaxWsServerFactoryBean的方式二选一,两种方法都可以创建简单的WebService服务5、创建客户端
5.1、方法一
package com.tiamaes.webservice.test.test;
import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;
import com.tiamaes.webservice.test.HelloWorldService;
/**
*
这种方式调用需要客户端的接口类与服务端的接口类的报名及接口名称完全一致。5.1、方法二
package com.tiamaes.webservice.test.test;
import org.apache.cxf.endpoint.Client;
import org.apache.cxf.jaxws.endpoint.dynamic.JaxWsDynamicClientFactory;
/**
*
文章标题:构建基于CXF的WebService服务(1)--创建HelloWorld服务
文章链接:http://soscw.com/essay/26495.html