wshttpbindingを使用するときにWCFによって自動的に設定されたmessageIDを取得する

StackOverflow https://stackoverflow.com/questions/4125978

質問

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
    }

それが役立つことを願っています

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top