如何在web.xml之外配置CXF servlet

时间:2012-12-04 13:29:46

标签: spring spring-mvc cxf

我希望能够使用spring配置文件禁用webservices。我已将所有与cxf相关的bean包围在:

<beans profile="webservices">...</beans>

但剩下的就是web.xml中的cxf servlet:

<servlet>
    <servlet-name>CXFServlet</servlet-name>
    <servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>CXFServlet</servlet-name>
    <url-pattern>/services/*</url-pattern>
</servlet-mapping>

我正在考虑将其替换为:

<servlet>
<servlet-name>webservicesDispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>

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

我需要配置webservicesDispather以执行与CXFServlet相同的操作。到目前为止,webservicesDispatcher-servlet.xml的内容如下所示:

<beans xmlns="... > 
    <beans profile="webservices">    
     <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" />    
    </beans>
</beans>

那么,知道webservicesDispatcher-servlet.xml的内容应该是什么?

1 个答案:

答案 0 :(得分:0)

AFAIK CXFServlet必须是CXF流的前端控制器,DispatcherServlet不能取代CXFServlet执行的功能 - 任何理由为什么您希望DispatcherServlet单独处理Spring MVC流和CXF WS流 - CXF servlet可以参考任何一种方式由DispatcherServlet定义的上下文文件中的bean。