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 に答える