zoukankan      html  css  js  c++  java
  • WebService开发-CXF

    Web Service 开发方式 Apache CXF


    一、关于Apache CXF

    在网址http://cxf.apache.org/可以查看到关于Apache CXF的下载及文档介绍,这里不再多做介绍。

    二、CXF开发方式

    先抛个图:

    如图所示,CXF使用注解开发,使用类实现接口的开发方式开发服务器端,由于CXF与Spring整合,在Spring的配置文件中加上配置语句即可,如下:

    此时,就完成了Web Service服务器端的开发。

    CXF在web.xml文件中的配置如下:

     

     此时、启动项目就可以用你熟悉的方式访问 http:localhost:8080/项目/services/Hello?wsdl 了。

    注意:

    /services是在web.xml文件中配置的路径

    /Hello是在Spring配置文件中指定的路径

    三、代码实现

    1.接口:

    package com.cares.fms.ws.charles.service;
    
    import javax.jws.WebMethod;
    import javax.jws.WebParam;
    import javax.jws.WebResult;
    import javax.jws.WebService;
    
    /**
     * @author Charles
     * @date 2018-02-05
     * @desc TODO
     */
    @WebService
    public interface HelloWS {
    
        @WebMethod
        @WebResult(name = "hello")
        String sayHello(@WebParam(name = "name") String name);
    }

    2.类: 

    package com.cares.fms.ws.charles.service.impl;
    
    import com.cares.fms.ws.charles.service.HelloWS;
    
    import javax.jws.WebService;
    
    /**
     * @author Charles
     * @date 2018-02-05
     * @desc TODO
     */
    @WebService(endpointInterface = "com.cares.fms.ws.charles.service.HelloWS")
    public class HelloWSImpl implements HelloWS {
        @Override
        public String sayHello(String name) {
            return "Hello " + name;
        }
    }

    3.配置文件:

        <jaxws:server id="Hello" serviceClass="com.cares.fms.ws.charles.service.HelloWS" address="/Hello">
            <jaxws:serviceBean>
                <bean class="com.cares.fms.ws.charles.service.impl.HelloWSImpl"/>
            </jaxws:serviceBean>
        </jaxws:server>
    
        <servlet>
            <servlet-name>CXFServlet</servlet-name>
            <servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
            <load-on-startup>1</load-on-startup>
        </servlet>
        <servlet-mapping>
            <servlet-name>CXFServlet</servlet-name>
            <url-pattern>/services/*</url-pattern>
        </servlet-mapping>
        
  • 相关阅读:
    C++11 指针成员与拷贝构造(浅拷贝与深拷贝)
    C++11 委派构造函数
    C++11 继承构造函数
    C++11 局部和匿名类型作模板实参
    C++11 外部模板
    C++11 函数模板的默认模板参数
    2D游戏新手引导点光源和类迷雾实现
    UVA 12293
    【算法】8 图文搭配诠释三种链表及其哨兵
    小米面试
  • 原文地址:https://www.cnblogs.com/itachy/p/8422107.html
Copyright © 2011-2022 走看看