zoukankan      html  css  js  c++  java
  • 脱离spring集成cxf(基于nutz框架)

    什么是webService

    WebService是一种跨编程语言和跨操作系统平台的远程调用技术。

    理论资料:
    http://blog.csdn.net/wooshn/article/details/8069087/

    cxf

    简单的说就是实现webService的一个比较流行的框架
    http://blog.sina.com.cn/s/blog_6182547f01017pak.html
    网上现在全是基于spring如何集成cxf,让很多不用spring的同学犯了难,不能为了使用cxf把spring再引用进来,
    所以特地查找了一些资料最终尝试成功,有需要的可以看一下。

    在nutz中集成cxf

    引用相关的jar包
        <dependency>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-rt-frontend-jaxws</artifactId>
            <version>3.1.7</version>
        </dependency>
        <dependency>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-rt-transports-http</artifactId>
            <version>3.1.7</version>
        </dependency>
        <dependency>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-rt-transports-http-jetty</artifactId>
            <version>3.1.7</version>
        </dependency>  
    
    自定义一个servlet用于拦截webservice请求

    因为cxf和spring结合的比较紧密,好多都是基于spring是实现的配置,
    因为我们比较屌不用spring,所以我们这里必须要做一些额外的操作。
    定义一个新的servlet不用cxf默认提供的。

    添加webservice的拦截器
    <servlet>  
        <servlet-name>CXFServlet</servlet-name>  
       <servlet-class>com.uxuexi.kecheng.webservice.cxfnospring.MyCxfServlet</servlet-class>  
        <load-on-startup>1</load-on-startup>  
    </servlet>  
    <servlet-mapping>  
         <servlet-name>CXFServlet</servlet-name>  
         <url-pattern>/services/*</url-pattern>  
    </servlet-mapping>    
      *注意:servlet-class就是上面自定义的servlet类的全路径*
    
    创建一个接口

    创建一个接口为接口添加上必要的注解
    接口上:@WebService
    暴露的方法上:@WebService
    方法的参数上:@WebParam

    创建一个实现类

    在自定一个servlet上注册这个webservice服务

    启动服务之后访问

    webservice的测试工具SOAPUI



    工具的使用文档:
    http://blog.csdn.net/pan_tian/article/details/10301197

    使用cxf的wsld2java生成客户端的代码

    .解压缩cxf的工具包

    配置bin路径;

    测试是否配置成功:

    测试一下:


    你可以将这个文件夹直接复制到你的项目中就可以进行客户端开发了。

  • 相关阅读:
    Lucene底层原理和优化经验分享(1)-Lucene简介和索引原理
    mysql 索引
    C++ 后台进程 daemon
    Linux进程状态
    实现一个简单的shared_ptr
    [LeetCode] Factorial Trailing Zeroes
    完美转发
    排序
    每天五个java相关面试题(7)--线程篇
    程序员为什么会淡忘?
  • 原文地址:https://www.cnblogs.com/wangsen/p/5777679.html
Copyright © 2011-2022 走看看