2013-02-28 44 views
1

我有一個使用DispatcherServlet和一些REST Web服務的spring webapp。這工作正常。在相同的上下文中的Spring REST服務和JAX WS服務

當添加一些JAX WS端點(@WebService)和使用SimpleJaxWsServiceExporter導出時,它好像接管了servlet的整個名稱空間。我無法再訪問靜態資源或REST服務。

我試着將baseAddress屬性設置爲http://example.com:8080/soap/,但它仍然給出404的/ *。

有什麼我可以做的將JAX WS服務導出到某個路徑下面嗎?

編輯:上述服務部署爲webapp,並在/ *上配置了DispatcherServlet。

+1

你部署它web應用程序?如果是這樣,你可以發佈你的web.xml嗎?如果不是,你想做什麼? – 2013-03-01 10:44:01

回答

0

確保在您的調度程序servlet配置中有<mvc:default-servlet-handler />,當調度程序servlet映射到/ *時,這是必需的。

+0

據我所知,這並沒有改變什麼?仍然在使用SimpleJaxWsServiceExporter時,除了導出的SOAP Web服務外,我還獲得了404的所有URL。 – 2013-03-11 09:39:45

0

爲web服務定義單獨的servlet

來自Spring文檔的示例。請注意,您將不得不爲這個servlet定義一個配置文件。 http://static.springsource.org/spring-ws/site/reference/html/server.html SE部分5.3.1

<servlet> 
    <servlet-name>spring-ws</servlet-name> 
    <servlet-class>org.springframework.ws.transport.http.MessageDispatcherServlet</servlet-class> 
    <load-on-startup>1</load-on-startup> 
</servlet> 

<servlet-mapping> 
    <servlet-name>spring-ws</servlet-name> 
    <url-pattern>/*</url-pattern> 
</servlet-mapping> 

+0

這似乎不涉及JAX-WS(我使用)。另外我更喜歡只配置一個Spring Web上下文的解決方案。 – 2013-03-15 07:45:00

+0

嘗試更改ws的端口http://stackoverflow.com/questions/10445969/using-jax-ws-webservices-with-spring-3-0-x-on-jboss-as-7-1-x – 2013-03-15 11:51:59

+0

但後來我不得不運行兩個服務器(端口)。這似乎比多個應用程序上下文更糟糕。 – 2013-03-16 15:48:39