WCF Client - Comment traiter ou ignorer un MustUnderstand élément d'en-tête?

Je suis en train d'écrire un WCF Client qui consomme non-.Net service web, à l'aide de WS-Security. La réponse du service contient un en-tête de Sécurité avec mustUnderstand définie sur true.

À l'aide d'un ServiceModelListener, je ne vois données réelles de retour à partir du service. La WCF client ne parvient pas, cependant, car il n'est pas le traitement de l'en-tête de Sécurité.

<env:Header>
<wsse:Security env:mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<wsu:Timestamp wsu:Id="timestamp">
<wsu:Created>2012-03-28T13:43:54.474Z</wsu:Created>
<wsu:Expires>2012-03-28T13:48:54.474Z</wsu:Expires>
</wsu:Timestamp>
</wsse:Security>
</env:Header>

WCF Client Message d'Erreur:

L'en-tête de la "Sécurité" de l'espace de noms ' http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd " n'a pas été comprise par le destinataire de ce message, ce qui provoque le message de ne pas être traitées. Cette erreur indique généralement que l'expéditeur de ce message, a permis à un protocole de communication que le récepteur ne peut pas traiter. Veuillez vous assurer que la configuration du client liaison est compatible avec le service de liaison.

Mon WCF client n'a pas besoin de l'horodatage info. Est-il un moyen facile de stub dans une routine de traitement? J'ai déjà essayé l'extension de la Réponse de la classe & ajout d'un [MessageHeader de la propriété].

EDIT:

Demandé une autre façon: Comment puis-je mettre en œuvre un WCF client qui accepte d'en-tête personnalisé, les éléments marqués Doivent Comprendre?

OriginalL'auteur Mark Maslar | 2012-03-28