我在Spring WS上有兩個端點攔截器的Web服務。 XML配置看起來像這樣Spring WS 2.1.0:端點攔截器命令
<sws:interceptors>
<bean class="org.someorg.security.SignatureInterceptor"/>
<bean class="org.someorg.common.LoggingInterceptor">
<constructor-arg value="logger_1"/>
</bean>
</sws:interceptors>
SignatureInterceptor檢驗進來的SOAP信封和體徵傳出SOAP信封的簽名。
LoggingInterceptor將原始SOAP數據(字節數組)存儲在數據庫中。
我需要SignatureInterceptor在LoggingInterceptor之前調用並以這種方式編寫攔截器bean,我期望它能解決我的問題。但根據日誌消息,LoggingInterceptor首先調用數據庫中的未簽名數據存儲。
然後,我改變配置簡單swaped bean聲明,他們開始工作,我希望
<sws:interceptors>
<bean class="org.someorg.common.LoggingInterceptor">
<constructor-arg value="logger_1"/>
</bean>
<bean class="org.someorg.security.SignatureInterceptor"/>
</sws:interceptors>
但這種情況我也不清楚。我如何明確設置攔截器的調用順序?
請參閱http://forum.springsource.org/showthread.php?59921-Order-of-Interceptors例如按正確順序選擇性請求/響應日誌記錄 – Vadzim