2013-02-11 23 views
0

所以我從Spring-ws 2開始,我試圖處理包含標題和正文的請求。現在我想確保頭部包含一個特定的變量,所以我實現了一個成功輸入的EndpointInterceptorAdapter。使用EndpointInterceptorAdapter仍然設置一些內容時,有一個無效的標頭

但是當它不存在時,我返回false,並且我的實際端點不被調用,這是我所期望的。不過,我仍然希望向用戶發送非空的回覆。有沒有辦法做到這一點,或者我應該檢查我的端點頭,如果我想實現這一目標?

回答

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; 
} 
相關問題