1. 程式人生 > >webservice學習筆記(九):CXF攔截器/自定義攔截器

webservice學習筆記(九):CXF攔截器/自定義攔截器

1.CXF的攔截器

a.CXF攔截器能夠動態的操作webservice請求過程中的操作請求和響應資料

2.攔截器分類

a.按所處的位置分為:伺服器端攔截器,客戶端攔截器

b.按訊息的方向分為:入攔截器,出攔截器

c.按定義者分為:系統攔截器,自定義攔截器

3.攔截器API

a.interceptor(攔截器介面)

b.AbstractPhaseInterceptor(自定義攔截器從此繼承)

c.LoggingInInterceptor(系統日誌入攔截器)

d.LoggingOutInterceptor(系統日誌出攔截器)

 4.這裡使用之前的cxf開發的web service服務端,日誌入/出攔截器來實現日誌記錄,程式碼如下:

這樣我們通過eclipse內建的web services explorer訪問我們的url(+"?wsdl"),並請求方法,再檢視控制檯的訊息:

 

我們在控制檯可以看到很多日誌資訊比如請求報文和響應報文以及請求方式等等,這樣就可以不需要tcp/ip monitor來檢視報文資訊了

5.這裡使用之前的cxf開發的web service客戶端(cmd生成的客戶端程式碼但是沒有cxf的jar包,所以需要自己新增),日誌入/出攔截器的程式碼以及執行結果如下:

 

5.CXF的自定義攔截器,實現使用者名稱與密碼的檢驗,這裡實現兩個攔截器,一種是客戶端的出攔截器,把輸入的使用者名稱和密碼翻譯成報文的格式,其次是服務端的入攔截器,用於驗證使用者名稱和密碼是否登陸正確

a.服務端的in攔截器

b.客戶端的out攔截器

-客戶端攔截器和測試類程式碼:

 

 

-服務端攔截器和測試類程式碼:

 

 

-控制檯日誌程式碼: