2

spring プロファイルを使用して Web サービスを無効にできるようにしたいと考えています。すべての cxf 関連の Bean を次のように囲みました。

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

しかし、残っているのは web.xml の cxf サーブレットです。

<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>

CXFServlet と同じことを行うには、webservicesDispather を構成する必要があります。これまでのところ、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 の内容はどうあるべきか考えていますか?

4

1 に答える 1

0

私の知る限り、CXFServlet は CXF フローのフロント コントローラーである必要があります。DispatcherServlet は、CXFServlet が実行する機能を置き換えることはできません - DispatcherServlet だけで Spring MVC フローと CXF WS フローの両方を処理する理由 - CXF サーブレットは、いずれかの方法で DispatcherServlet によって定義されたコンテキスト ファイル。

于 2012-12-04T13:35:51.070 に答える