簡體   English   中英

添加事務ID SOAP header 檢測重復調用

[英]Adding transaction ID to SOAP header for detecting repeated calls

我的 .NET 應用程序需要連接到外部 SOAP 服務。 我讓 Visual Studio 根據 WSDL 描述生成客戶端。

該服務允許重試失敗的請求,但需要 soap header 中的事務 ID 才能檢測重復調用。

我能夠通過在 IClientMessageInspector 中創建 GUID 添加事務 ID。 我的計划是使用 Polly 進行重試。

我的問題是:Polly 對 IClientMessageInspector 一無所知,檢查員也不知道請求是否重試。

有沒有一種方法可以傳遞該信息,或者是否有其他方法可以更改 SOAP header? 可以將 Visual Studio 配置為執行此操作嗎?

這里找到解決方案:

可以通過OperationContextScope(client.InnerChannel)訪問 SOAP 元數據,而不是使用 IClientMessageInspector。 為了方便起見,可以將其包裝在自定義的主動 Polly 策略中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM