xfire實現webservice客戶端之測試關注點

日前的工做接觸到不少系統間的Webservice調用,這裏想談談基於spring+xfire實現的webservice的客戶端踩過的一些坑,須要測試關注的點。web

xFire的配置項

在spring中實現ws的client的客戶端仍是相對比較容易的,只須要編寫一個和webservice接口一致的接口類便可。在xml的配置中須要關注下面幾個參數:spring

  • http.timeout : 響應超時,即服務端接收到ws請求,但在處理請求時,長時間沒有返回,超時
  • http.connection.timeout : 鏈接超時,即和服務端創建鏈接的超時時間

1

xFire所發送消息體的過濾和編碼

xfire調用時,若是請求參數中包含特殊的ascii字符(ascii碼的0x00 ~ 0x1F)時,ws調用會失敗。處理方法就是對請求參數進行過濾,剔除出這些控制字符。安全

基於發送消息體的另一個考量就是i18N,發送的內容嘗試着包含:半角、全角、雙字節字符、三字節字符等。測試

xFire調用服務端失敗處理

1. xfire調用異常後的重試編碼

對於一些關鍵業務webservice調用失敗可能會產生比較嚴重的後果,但xfire自己是沒有重試機制的。如今的作法就是,若是xfire調用失敗,catch作異常,將消息體插入一個重試任務表中,由調度任務稍後進行重試。3d

2. xfire調用異常,打印日誌的脫敏日誌

若是xfire調用失敗,catch住異常後,一般會打印異常日誌。若是涉及核心業務,從數據安全性角度考慮,須要關注在異常堆棧中是否會包含敏感信息(如信用卡卡號),異常日誌打印須要過濾掉敏感信息。xml

相關文章
相關標籤/搜索