Получение MessageID автоматически установлено WCF при использовании wshttpbinding

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

Вопрос

Я использую WCF для потребления веб -службы, который уважает форму WS (я затем использую привязку wshttpbinding). Эта форма включает MessageID быть установленным в заголовке запроса SOAP, и тот же идентификатор, который присутствует в заголовке отзывов в RelatesTo поле. Я хотел бы зарегистрировать запрос, который я сделал вместе с этим сообщением, но не могу найти способ получить настройку MessageID WCF, можно ли мне установить его вручную. Мне удалось получить его из ответа, установив правильный атрибут на поле, но сделав это по запросу, позвольте мне установить его, но, кажется, WCF переопределяет его и не позволяйте мне получить доступ к новому событию Value после того, как вызов был сделан.

Есть идеи ?

Это было полезно?

Решение

Я также не нашел способ получить автоматически установить идентификатор сообщения, но вы можете легко установить его вручную:

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