北在北方

太白枝头看,花开不计年,杯中浮日月,楼外是青天。

导航

Web项目中使用Spring整合CXF发布Web Services

Posted on 2012-11-08 22:15  CN.programmer.Luxh  阅读(1532)  评论(10编辑  收藏  举报

  Spring的Web项目搭建就不再啰嗦了,直接说整合的关键步骤。

  1、CXF的包需要导入到项目中

  2、web.xml文件添加下面的内容

<servlet>
        <servlet-name>cxf</servlet-name>
        <display-name>cxf</display-name>
        <description>Apache CXF Endpoint</description>
        <servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>cxf</servlet-name>
        <url-pattern>/services/*</url-pattern>
    </servlet-mapping>

  3、提供服务的接口和实现类

    1)、接口

package cn.luxh.app.ws;

import javax.jws.WebService;

@WebService
public interface Calculator {
    
    int add(int num1,int num2);
}

    2)实现类

package cn.luxh.app.ws;

import javax.jws.WebService;

@WebService(endpointInterface="cn.luxh.app.ws.Calculator")
public class CalculatorImpl implements Calculator{

    @Override
    public int add(int num1, int num2) {
        return num1 + num2;
    }

}

  3、在spring的配置文件中添加如下内容

    1)首先命名空间添加

    和xsi:schemaLocation=后面添加

http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd

    2)接着配置提供服务的endpoint

    <jaxws:endpoint id="calculator" 
                        implementor="cn.luxh.app.ws.CalculatorImpl" 
                        address="/Calculator" />

  4、就这么简单,就可以发布一个Web Service服务了,看来CXF和Spring是完美的结合。

  5、启动Web应用,访问:http://localhost:8080/CXFAPP/services/Calculator?wsdl 就可以看到wsdl的描述文件了。CXFAPP是我的web应用名称。