Web services 我们如何在spring集成中使用uri端点映射

Web services 我们如何在spring集成中使用uri端点映射,web-services,spring-integration,Web Services,Spring Integration,我正在尝试使用注释配置spring集成。我希望使用URI端点映射,而不是payloadqnameendpoint映射。我发现了许多具有默认URI端点的示例,但我需要一个没有默认端点的注释示例。让我们看看Spring WS中的支持!正如您所看到的,它基于POJO方法和它们上面的注释之间的划分。POJO是那里的一个主要单词。这种框架魔法允许我们将低级协议与最终应用程序业务逻辑分离。另一方面,Spring集成的AbstractWebServiceInboundGateway实现了MessageEndp

我正在尝试使用注释配置spring集成。我希望使用URI端点映射,而不是payloadqnameendpoint映射。我发现了许多具有默认URI端点的示例,但我需要一个没有默认端点的注释示例。

让我们看看Spring WS中的支持!正如您所看到的,它基于POJO方法和它们上面的注释之间的划分。POJO是那里的一个主要单词。这种框架魔法允许我们将低级协议与最终应用程序业务逻辑分离。另一方面,Spring集成的
AbstractWebServiceInboundGateway
实现了
MessageEndpoint
,这意味着整个SOAP的艰苦工作将在这个实现中完成。这不是一个POJO。 当然,这个主题是一个不同的故事,但是您应该从这里了解到,
MessageEndpoint
MethodEndpoint
的工作方式有点不同。至少它们可以从不同级别的SOAP请求执行消息传递逻辑

所以,我们真的不能用
@Action
或类似的方法来映射
,因为它已经是一个完整的SOAP端点了

另一方面,使用Java配置中的
AnnotationActionEndpointMapping
,您可以完全摆脱
,并将
端点配置为将所需的
@Action
委托给
@MessagingGateway
的方法。由于SpringWS框架已经完成了艰苦的SOAP工作,所以它将起作用

我不知道该代码是否有效,但您可以检查或让我知道,我将测试它并再次返回:

@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);

}