我正在尝试使用注释配置spring集成。我希望使用URI端点映射,而不是Payloadqname终结点映射。我发现了许多带有缺省URI端点的示例,但是我需要一个没有默认端点的注释示例。
发布于 2015-06-14 05:45:17
让我们来看看Spring中的AnnotationActionEndpointMapping
支持!正如您所看到的,它基于POJO方法和它们上的注释之间的划分。POJO是这里的一个主要单词。这种框架魔力使我们能够将底层协议与最终应用程序业务逻辑分离开来。另一方面,Spring的AbstractWebServiceInboundGateway
实现了MessageEndpoint
,这意味着整个SOAP工作都将在这个实现中完成。不是POJO。当然,这个主题是一个不同的故事,但是您应该从这里了解到,MessageEndpoint
和MethodEndpoint
的工作方式有点不同。至少,他们从不同级别的SOAP请求中执行消息传递逻辑。
因此,我们真的不能仅仅因为<int-ws:inbound-gateway>
已经是一个完整的SOAP端点而用@Action
或类似的方法来映射它。
另一方面,有了Java的AnnotationActionEndpointMapping
,您可以完全摆脱<int-ws:inbound-gateway>
,配置Endpoint
将所需的@Action
委托给@MessagingGateway
的方法。而且它也能工作-已经由Spring框架完成了。
我不知道这段代码是否有效,但是您可以检查或让我知道,我会测试它,然后再回来:
@Endpoint
@MessagingGateway
public interface OrderEndpoint {
@Action("http://samples/RequestOrder")
@Gateway(requestChannel = "getOrderChannel")
Order getOrder(OrderRequest orderRequest);
@Action("http://samples/CreateOrder")
@Gateway(requestChannel = "createOrderChannel")
void order(Order order);
}
https://stackoverflow.com/questions/30826242
复制相似问题