我是春季集成的新手,所以我可能會濫用條款。 我有一個ws:入站網關監聽soap web服務請求。春季集成:收聽入網網關的例外
<int-ws:inbound-gateway id="myInGW"
request-channel="headersMapPopulationChannel"
reply-channel="ws-response-channel"
marshaller="marshaller"
unmarshaller="marshaller"/>
它發出傳入請求headersMapPopulationChannel並把它發送消息給適配器(用於從JAXB類轉換成域)和分離器把它分割到驗證,記錄和持久性。在持久化後,我根據請求運行與業務相關的事情。我想對所有這些都有異常控制點,這樣我就可以管理在發生異常情況下應如何處理。我故意在商業課堂上拋出異常聲明。拋出異常,但我的頻道似乎並沒有得到它。 配置:
<int-ws:inbound-gateway id="myInGW"
request-channel="headersMapPopulationChannel"
reply-channel="ws-response-channel"
error-channel="ws-error-channel"
marshaller="marshaller"
unmarshaller="marshaller"/>
<int:channel id="ws-error-channel"/>
<int:service-activator input-channel="ws-error-channel"
expression="@exceptionHandlerService.handleThrowable(payload)"/>
<bean id="exceptionHandlerService" class="pack.integration.service.ExceptionHandlerService"/>
此外,我不知道是否我出最渠道控制的例外是正確與否。我應該在哪裏轉發消息時聽取例外情況?
我跟蹤了你所說的流程,我注意到'ignore-send-failures ='true''聲明。刪除這使得錯誤通道能夠捕捉異常。感謝您的回覆。 – GokcenG 2013-04-04 13:08:43