CXF与Web项目集成---with Spring

1.CXF本身就使用了Spring的东西,它和Spring集成可谓是无缝集成

   主要让发布服务的任务交spring去发布

2.配置web.xml

    配置spring

  <context-param>  
        <param-name>contextConfigLocation</param-name>  
        <param-value>WEB-INF/beans.xml</param-value>  
    </context-param>  
  
    <listener>  
        <listener-class>  
            org.springframework.web.context.ContextLoaderListener  
        </listener-class>  
    </listener>  

  配置我们的cxf

  <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>/*</url-pattern>  
    </servlet-mapping>  

3.beans.xml

 

<?xml version="1.0" encoding="UTF-8"?>  
<!-- START SNIPPET: beans -->  
<beans xmlns="http://www.springframework.org/schema/beans"  
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
    xmlns:jaxws="http://cxf.apache.org/jaxws"  
    xsi:schemaLocation="  
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd  
http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd">  
  
   
    <!--会向cxf jar包去找  -->  
    <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" />  
  
    <!--   
    <jaxws:endpoint   
      id="helloWorld"   
      implementor="com.cxf.server.HelloWorldImpl"   
      address="/HelloWorld" />  
    -->  
        
      <!-- 另一种发布方式 -->  
      <bean id="hello" class="com.cxf.server.HelloWorldImpl"/>  
      <jaxws:endpoint id="helloWorld"   
                      implementor="#hello"  
                      address="/HelloWorld">  
                        
      </jaxws:endpoint>  
          
      <bean id="us" class="com.cxf.users.UserServiceImpl"></bean>  
        
      <jaxws:endpoint id="userService"  
                      implementor="#us"  
                      address="/userAction"  
                      >  
            <jaxws:inInterceptors>  
                <bean class="org.apache.cxf.interceptor.LoggingInInterceptor"></bean>  
            </jaxws:inInterceptors>  
                      
            <jaxws:outInterceptors>  
                <bean class="org.apache.cxf.interceptor.LoggingOutInterceptor"></bean>  
            </jaxws:outInterceptors>  
      </jaxws:endpoint>  
        
</beans>  
<!-- END SNIPPET: beans --> 

 

 <jaxws:endpoint  通过他们进行服务发布,通过其指定的address访问你的wsdl

<jaxws:inInterceptors>  
                <bean class="org.apache.cxf.interceptor.LoggingInInterceptor"></bean>  
</jaxws:inInterceptors>  

 

posted @ 2014-12-02 22:57  贝壳风铃  阅读(148)  评论(0)    收藏  举报