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 对应的所有文件.
 会生成相应调用测试代码,使用时可以进行参考非常方便.

WebService流行框架CXF的更多相关文章

  1. WebService流行框架之Axis和CXF

    转自:http://www.cnblogs.com/snake-hand/archive/2013/06/09/3129915.html 前言 上节课我们对WebService进行了简单的介绍,对于其 ...

  2. 分布式架构探索 - 2. WebService RPC框架之Apache CXF

    Apache CXF是一个开源的WebService RPC框架. 例子: 1. 新建一个maven web项目, 添加pom 如下: <?xml version="1.0" ...

  3. WebService第二天——WebService框架CXF

    一.CXF 1.什么是CXF Apache CXF = Celtix + XFire,开始叫 Apache CeltiXfire,后来更名为 Apache CXF 了,以下简称为 CXF.CXF 继承 ...

  4. 【转】【译】JavaScript魔法揭秘--探索当前流行框架中部分功能的处理机制

    推荐语: 今天推荐一篇华为同事的同事翻译的一篇文章,推荐的主要原因是作为一个华为员工居然晚上还能写文章,由不得小钗不佩服!!! 其中的jQuery.angular.react皆是十分优秀的框架,各有特 ...

  5. 60.Android通用流行框架大全

    转载:https://segmentfault.com/a/1190000005073746 Android通用流行框架大全 1. 缓存 名称 描述 DiskLruCache Java实现基于LRU的 ...

  6. 基于soapUI构建WebService测试框架

    基于soapUI构建WebService测试框架 http://www.docin.com/p-775523285.html

  7. Akka.NET是Java/Scala 流行框架Akka的一个 .NET 开源移植

    Akka.NET v1.0 已发布,支持Mono Akka.NET 是Java/Scala 流行框架Akka的一个 .NET 开源移植.可用于构建高并发,分布式和容错事件驱动的应用在 .NET 和 M ...

  8. 15类Android通用流行框架

    15类Android通用流行框架 Android流行框架 缓存 DiskLruCache Java实现基于LRU的磁盘缓存 图片加载 Android Universal Image Loader 一个 ...

  9. atitit.php 流行框架 前三甲为:Laravel、Phalcon、Symfony2 attilax 总结

    atitit.php 流行框架 前三甲为:Laravel.Phalcon.Symfony2 attilax 总结 1. ,最流行的PHP框架前三甲为:Laravel.Phalcon.Symfony2. ...

随机推荐

  1. mybatis javaConfig实现

    @Bean public SqlSessionFactory sqlSessionFactory(DataSource dataSource) throws Exception { SqlSessio ...

  2. spring boot jar启动

    1.依赖包输出 记得禁用热加载 <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactI ...

  3. AndroidStudio中使用SVN

    AndroidStudio中使用SVN提交项目 1.安装SVN,我选择使用TortoiseSVN-1.8.7.25475-x64-svn-1.8.9.msi(安装文件地址如下:http://downl ...

  4. f# mathprovider

    http://mathprovider.codeplex.com/ http://mathnetnumerics.codeplex.com/releases/view/110750 http://py ...

  5. re正则表达式公式讲解1

    常用的表达式一些规则 1.“.”  匹配出了\n之外的任意一个字符,包括特殊字符 有几个·就匹配几个字符. import re print(re.search("."," ...

  6. logging日志过滤和日志文件自动截取

    1.日志过滤 import logging class IgnoreFilter(logging.Filter): def filter(self,record): return "girl ...

  7. 自动创建xml文档

    自动创建xml文档 import xml.etree.ElementTree as ET print(dir(ET)) #ET里面有Element方法 root = ET.Element(" ...

  8. random模块详解

    1.import random random·randint(a,b) 括号里是一个范围,random·randint()是取括号里范围的随机数. >>> import random ...

  9. Android 仿百度医生的智能分诊界面

    http://blog.csdn.net/jiang89125/article/details/49622853

  10. android studio 新建文件出错