WebService流行框架CXF

CXF官方网址:http://cxf.apache.org/
 
CXF官方网址:官网学习地址:http://cxf.apache.org/docs/index.html
 
官网下载cxf压缩文件:http://cxf.apache.org/download.html
 
CXF发布WebService有三种方式:main方式,基于和不基于Spring发布到容器
   
1)main方式
       引入jar包,在接口和实现类上使用@WebService即可,发布完成后即可在浏览器中访问url,不需要启动tomcat等服务。
2)不基于Spring方式发布到容器
     a)引入cxf的jar包,编写web.xml(配置自定义的CXFServlet,该CXFServlet需要继承CXFNonSpringServlet)
     b)编写实体类,业务类和服务类(实体类需要和服务类在同一包下,否则报错)
     c)启动Tomcat,即可发布服务
3)基于Spring方式发布到容器
    a)web.xml配置(Spring配置,cxf封装的CXFServlet配置)
    b)applicationContext-server.xml配置
    <!--Import apache CXF bean definition 固定-->
    <importresource="classpath:META-INF/cxf/cxf.xml" />
    <importresource="classpath:META-INF/cxf/cxf-extension-soap.xml" />
    <importresource="classpath:META-INF/cxf/cxf-servlet.xml" />
    <!--services接口配置 -->
    <beanid="helloServicesBean"class="com.ms.services.impl.HelloServicesImpl" />
    <!--CXF 配置WebServices的服务名及访问地址 -->
    <jaxws:serverid="helloServices" address="/HelloServices"
       serviceClass="com.ms.services.IHelloServices">
    <!--要暴露的webservice服务 -->
    <jaxws:serviceBean>
    <refbean="helloServicesBean"/>
    </jaxws:serviceBean>
    </jaxws:server>
c)编写类
    实体类
    服务接口(类头使用@WebService)
    服务实现(类头使用@WebService(endpointInterface="com.ms.services.IHelloServices")) 
CXF客户端调用Webservices步骤
   
    使用命令生成Webservices客户端
    下载CXF  apache-cxf-3.1.4 进行解压
    使用cmder 进入到apache-cxf-3.1.4/bin目录   cmder工具已经在前一篇文章已经介绍过如何使用;
   
    生成客户端代理类命令如下:
     wsdl2java -p  com.markor.ws.soap.service.client.impl.stubs.a djutOrderLock -d d:\cs 
xfoutput\src -all C:\Users\liuguodong\Desktop\z_rtsd_sd061.wsdl  
    

-p 也就是package 对应java中的包

-d 输入目录,生成.java文件会在该目录,会自动添加-p参数配置的包路径

-client 生成客户端测试web service的代码.
-server 生成服务器启动web  service的代码.
-impl 生成web service的实现代码.
-ant  生成build.xml文件.
-all 生成上面-client -server -impl -ant 对应的所有文件.
 会生成相应调用测试代码,使用时可以进行参考非常方便.
posted @ 2015-12-24 19:50  水蓝色的梦  阅读(426)  评论(0编辑  收藏  举报