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)首先命名空间添加
xmlns:jaxws="http://cxf.apache.org/jaxws"
和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应用名称。