所以我从Spring-ws 2开始,我正在尝试处理包含标题和正文的请求。现在我想确保标题包含某个变量,所以我实现了一个成功输入的EndpointInterceptorAdapter。
然而,当它不存在时,我返回false并且没有调用我的实际端点,这是我所期望的。但是,我仍然希望将非空响应发送回用户。有没有办法实现这一点,或者我应该检查我的端点中的标题,如果我想实现这一目标?
答案 0 :(得分:0)
您可以在EndpointInterceptorAdapter中执行以下操作,其中isNotValid是您将实现的功能,用于检查您的请求是否有效。
public boolean handleRequest(MessageContext messageContext, Object endpoint) throws Exception {
if(isNotValid(messageContext)){
WebServiceMessage responseMsg = messageContext.getResponse();
SoapMessage soapMsg = (SoapMessage) responseMsg;
soapMsg.getSoapBody().addClientOrSenderFault("error !", Locale.ENGLISH);
return false;
} else {
return true;
}