我有一個Spring + CXF應用程序,它使用在另一個服務器上運行的傳輸API:Transmission RPC。Spring - 重試請求,如果服務返回409 HTTP代碼
根據傳輸文檔,您需要發送在第一個請求上生成的令牌。服務器隨後以409個http代碼和一個包含令牌的標題進行響應。此令牌應在所有後續呼叫中發送:
2.3.1。 CSRF保護大多數傳輸RPC服務器都需要一個X-Transmission-Session-Id頭部來發送請求,以防止CSR35F的攻擊。當您的請求具有錯誤的ID時 - 例如當您發送第一個請求時,或者服務器到期時,CSRF令牌 - 傳輸RPC服務器將返回HTTP 409錯誤,並返回 右邊的X-Transmission-Session- ID在它自己的頭文件中。所以,正確的 處理409響應的方法是更新您的X-Transmission-Session-Id並重新發送先前的請求。
我一直在尋找使用CXF過濾器或攔截器的解決方案,它基本上會處理409響應並重試添加令牌頭的初始請求。我在考慮客戶可以堅持這個令牌並在未來的通話中發送。
我不是很熟悉cxf,所以我想知道這是否可以完成和如何。任何提示都會有幫助。
謝謝!