0

所以我从 Spring-ws 2 开始,我正在尝试处理包含标题和正文的请求。现在我想确保标头包含某个变量,所以我实现了一个成功输入的 EndpointInterceptorAdapter。

但是,当它不存在时,我会返回 false 并且不会调用我的实际端点,这是我所期望的。但是我仍然想向用户发送一个非空响应。有没有办法实现这一点,或者如果我想实现这一点,我应该只检查端点中的标头吗?

4

1 回答 1

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;
} 
于 2013-02-13T15:38:25.987 回答