Récupérer les MessageId automatiquement défini par la WCF lors de l'utilisation WSHttpBinding

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

Question

J'utilise WCF pour consommer un service web qui respecte la forme de WS (I utilise ensuite la liaison WSHttpBinding). Cette forme comporte une MessageID être mis dans l'en-tête de la demande de savon et le même identifiant étant présent dans l'en-tête de reponse dans le champ RelatesTo. Je voudrais enregistrer la demande que j'ai fait avec ce MessageId mais ne peut pas trouver un moyen de récupérer l'ensemble de messageId par WCF soit possible un réglage manuel. J'ai réussi à obtenir de la réponse en définissant l'attribut à droite sur le terrain, mais le faire sur la demande me laissez agir, mais est semble WCF l'emporte et ne me laisse pas accéder au nouvel événement de valeur après l'appel a été fait.

Toute idée?

Était-ce utile?

La solution

Je n'ai pas trouvé un moyen de récupérer l'ID de message automatiquement ensemble, mais vous pouvez le configurer facilement manuellement:

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
    }

L'espoir qui aide

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top