预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共12页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

PAGE\*MERGEFORMAT12 CXF框架实现webservice教程 1使用CXF实现一个简单的WEBSERVICE 首先介绍如何用CXF实现一个基本的helloworld 首先到apache官网去下载CXF的开发jar包 HYPERLINK"http://apache.etoak.com//cxf/2.4.3/apache-cxf-2.4.3.zip"http://apache.etoak.com//cxf/2.4.3/apache-cxf-2.4.3.zip 创建cxfwebservice服务器端普通java项目,叫做HelloCxfServer,把必须用到的jar文件通过构建路径引入,为了省事,可以直接把所有的jar引入 此处注意:如果是jdk1.6启动服务器会发生如下错误 JAXB2.1APIisbeingloadedfromthebootstrapclassloader,butthisRI(fromjar:file:/E:/javaLib/cxf_all_jar/jaxb-impl-2.2.1.1.jar!/com/sun/xml/bind/v2/model/impl/ModelBuilder.class)needs2.2API.Usetheendorseddirectorymechanismtoplacejaxb-api.jarinthebootstrapclassloader. 这是由于jdk1.6的jar包和cxf的jar包冲突造成的, 需要把cxflib中的endorsed目录拷入到D:\ProgramFiles\Java\jdk1.6.0\jre\lib目录下 创建一个接口HelloWorld和一个实现类HelloWorldImpl,只提供一个成员方法,叫做sayHello,给接口和实现类添加注解@WebService,这是最基本的注解 /test/HellWorld.java源码 packagetest; importjavax.jws.WebService; @WebService publicinterfaceHelloWorld{ StringsayHello(Stringname); } /test/HelloWorldImpl.java源码 packagetest; importjavax.jws.WebService; @WebService publicclassHelloWorldImplimplementsHelloWorld{ @Override publicStringsayHello(Stringname){ System.out.println("sayHello方法被调用..."); return"hello,"+name; } } CXF自带了一个WebService容器Jetty,这是一个WEB容器,类似于tomcat,能够直接发布webservice,下面创建一个发布服务类MainServer,执行这个类就会运行服务器,看到控制台输出日志信息,表示启动服务成功 /test/MainServier.java源码 packagetest; importorg.apache.cxf.endpoint.Server; importorg.apache.cxf.jaxws.JaxWsServerFactoryBean; publicclassMainServer{ publicstaticvoidmain(String[]args){ //创建一个JaxWs服务器工厂 JaxWsServerFactoryBeanfactory=newJaxWsServerFactoryBean(); //设置发布类 factory.setServiceClass(HelloWorldImpl.class); //设置服务发布的地址 factory.setAddress("http://localhost:6666/MyCxfService"); //根据设置创建一个服务器 Serverserver=factory.create(); //启动服务器 server.start(); } } 发布成功以后,可以通过浏览器去查看生成的WSDL, 在浏览器地址栏输入HYPERLINK"http://localhost:6666/MyCxfService?wsdl"http://localhost:6666/MyCxfService?wsdl,效果如下: 下面创建访问WebService的客户端,可以重新创建一个项目,也可以就在这个项目里实现,我下面在同一个项目中