我正在开发Spring Web Service项目,我开发了一个Endpoint类,它接受来自SOAP UI的请求,并提供响应。
Soap请求有Header [some properties],Body [请求标记包含一些元素]
现在我必须根据标头中传递的属性更改端点调用。 "标题有一个名为operationVersion"
的属性如果我从soapheader得到operationVersion为3,那么我必须调用我现有的Endpoint,如果我得到operationVersion为5那么我必须调用另一个处理版本5响应的Endpoint。
请帮帮我。
答案 0 :(得分:0)
如何使用标准版 - WS-Addressing
:http://docs.spring.io/spring-ws/docs/2.2.0.RELEASE/reference/htmlsingle/#server-ws-addressing?
通过这样的方式,您将能够route
使用以下内容:
@Action("http://samples/RequestOrder")
public Order getOrder(OrderRequest orderRequest) {
return orderService.getOrder(orderRequest.getId());
}
@Action("http://samples/CreateOrder")
public void order(Order order) {
orderService.createOrder(order);
}
否则你只能通过一种方法实现它并在其中进行路由:
public void handle(@RequestPayload DOMSource domSource, @SoapHeader("operationVersion") SoapHeaderElement header)