CXF与Spring集成,配置webservice服务端,内容与与前面几章基本项目,这里主要是通过spring配置文件完成。

 

web.xml:

<?xml version="1.0" encoding="UTF-8"?>

<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"

    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee

    http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

    <welcome-file-list>

       <welcome-file>index.jsp</welcome-file>

    </welcome-file-list>

 

    <!-- 设置Spring容器加载配置文件路径 -->

    <context-param>

       <param-name>contextConfigLocation</param-name>

       <param-value>WEB-INF/applicationContext-server.xml</param-value>     

       <!-- 

       <param-value>

           classpath*:applicationContext-server.xml

       </param-value>

       -->

    </context-param>

   

    <!-- 加载Spring容器配置 -->

    <listener>

       <listener-class>

           org.springframework.web.context.ContextLoaderListener

       </listener-class>

    </listener>

    <!-- 

    <listener>

       <listener-class>

           org.springframework.web.util.IntrospectorCleanupListener

       </listener-class>

    </listener>

    -->

    <servlet>

       <servlet-name>CXFService</servlet-name>

       <servlet-class>

           org.apache.cxf.transport.servlet.CXFServlet

       </servlet-class>

    </servlet>

 

    <servlet-mapping>

       <servlet-name>CXFService</servlet-name>

       <url-pattern>/services/*</url-pattern>

    </servlet-mapping>

 

</web-app>

applicationContext-server.xml文件:

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"

    xmlns:context="http://www.springframework.org/schema/context"

    xmlns:jaxws="http://cxf.apache.org/jaxws"

    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

    xsi:schemaLocation="http://www.springframework.org/schema/beans

    http://www.springframework.org/schema/beans/spring-beans-3.0.xsd

    http://www.springframework.org/schema/context

    http://www.springframework.org/schema/context/spring-context-3.0.xsd

    http://cxf.apache.org/jaxws

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

 

    <import resource="classpath:META-INF/cxf/cxf.xml" />

    <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" />

    <import resource="classpath:META-INF/cxf/cxf-servlet.xml" />

 

    <bean id="hello" class="com.flyfox.service.HelloWorldImpl" />

 

    <jaxws:endpoint id="helloWorld" implementor="#hello"

       address="/HelloWorld" />

 

    <!-- 另一种写法 是

       <jaxws:endpoint id="helloWorld" implementor="com.flyfox.service.HelloWorldImpl"

       address="/HelloWorld" />

    -->

 

</beans>

HelloWorld文件:

package com.flyfox.service;

 

import javax.jws.WebService;

 

@WebService

public interface HelloWorld {

    String sayHi(String text);

}

HelloWorldImpl文件:

package com.flyfox.service;

 

import javax.jws.WebService;

 

@WebService(endpointInterface = "com.flyfox.service.HelloWorld")

public class HelloWorldImpl implements HelloWorld {

 

    public String sayHi(String text) {

       return "Hello " + text;

    }

}

最后通过TOMCAT发布即可,访问地址:http://lcoalhost:8080/CXF/services/HelloWorld.wsdl

没有登录不能评论