Spring REST服务和JAX WS服务在相同的上下文中

时间:2013-02-28 13:29:40

标签: spring jax-ws jax-rs

我有一个带有DispatcherServlet和一些REST Web服务的spring webapp。这很好。

添加一些JAX WS端点(@WebService)并使用SimpleJaxWsServiceExporter导出时,似乎这会占用servlet的整个命名空间。我无法再访问静态资源或REST服务。

我尝试将baseAddress属性设置为http://example.com:8080/soap/,但它仍为/ *提供了404.

我可以做些什么来在特定路径下导出JAX WS服务吗?

编辑:上述服务部署为webapp,并在/*上配置DispatcherServlet。

2 个答案:

答案 0 :(得分:0)

确保在调度程序servlet配置中有<mvc:default-servlet-handler />,当将调度程序servlet映射到/*时,这是必需的。

答案 1 :(得分:0)

为web servicess定义单独的servlet

来自Spring文档的示例。请注意,您必须为此servlet定义配置文件。 http://static.springsource.org/spring-ws/site/reference/html/server.html第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>