使用带有spring-boot SOAP Web服务的SOAPHandler

时间:2015-02-05 14:15:34

标签: java web-services spring-boot

我按照指南创建了一个应用程序 http://spring.io/guides/gs/producing-web-service/

执行webservice'getCountry'工作正常,但现在我需要在执行getCountry之前以某种方式拦截SOAP消息。

我创建了一个实现'SOAPHandler'的类,但不知怎的,我必须告诉spring-boot在将请求传递给getCountry之前使用这个处理程序。

知道怎么做吗?

1 个答案:

答案 0 :(得分:0)

您需要实现类似以下的拦截器:

public class YourClientInterceptor implements ClientInterceptor{

@Override
public boolean handleRequest(MessageContext messageContext)
{

    //here you get your request before it is sending
    messageContext.getRequest() 

 ...

    return true;
}

}

,当您创建WebServiceTemplate时,您将执行以下操作:

ClientInterceptor[] interceptors = {new YourClientInterceptor ()};
yourWebServiceTemplate.setInterceptors(interceptors);

它们与处理程序类似。