当我浏览Webservices的Spring参考时,我知道有两种方法可以在spring中实现jax-ws webservices。
一个是使用MessageDispatcherContext,我发现这是最简单的方法。
另一种方法是使用WebServiceMessageReceiverHandlerAdapter和SimpleControllerHandlerAdapter等适配器在DispatcherServlet中连接Spring-ws。
我无法理解第二种方法的必要性,因为它起初看起来有点复杂。 请帮助我理解为什么我应该使用第二种方法,并给出一种方法最适合的方案。
谢谢。
答案 0 :(得分:0)
这个问题的答案在于Spring Webservices文档本身:
The message dispatcher operates on a message context
,and not transport-specific input stream and output stream
。
因此,传输特定请求需要读入MessageContext。
For HTTP, this is done with a WebServiceMessageReceiverHandlerAdapter
,它是一个Spring Web HandlerInterceptor`,因此MessageDispatcher可以在标准的DispatcherServlet中连接。
http://docs.spring.io/spring-ws/site/reference/html/server.html
您应该使用WebServiceMessageReceiverHandlerAdapter
,因为在大多数情况下,传输是HTTP / S.但是,如果您的应用程序像Mule一样充当服务总线 - MessageDispatcher更适合