wshttpbindingを使用するときにWCFによって自動的に設定されたmessageIDを取得する
-
29-09-2019 - |
質問
WCFを使用して、WSフォームを尊重するWebサービスを消費します(Wshttpbindingバインディングを使用します)。このフォームにはaが含まれます MessageID
SOAPリクエストのヘッダーに設定され、同じIDがreponseヘッダーに存在します RelatesTo
分野。このMessageIDと一緒に行ったリクエストをログに記録したいのですが、WCFで設定されたMessageIDを取得する方法が見つかりません。手動で設定できます。私はフィールドに正しい属性を設定することで応答からそれを得ることができましたが、リクエストでそれを行うことを行うことを行わせてください。
何か案が ?
解決
自動的に設定されたメッセージIDを取得する方法も見つかりませんでしたが、手動で簡単に設定できます。
using (new System.ServiceModel.OperationContextScope((System.ServiceModel.IContextChannel)base.Channel))
{
m_lastMessageId = new System.Xml.UniqueId();
System.ServiceModel.OperationContext.Current.OutgoingMessageHeaders.MessageId = m_lastMessageId;
// call here the request
}
それが役立つことを願っています
所属していません StackOverflow