WCF Client: ¿Cómo procesar o ignorar un elemento de encabezado MustUnderstand?
Estoy escribiendo unWCF
Cliente que consume un servicio web no .Net, utilizando WS-Security. La respuesta del servicio contiene un encabezado de seguridad con mustUnderstand establecido en verdadero.
Utilizando un ServiceModelListener, veo datos reales que regresan del servicio. Sin embargo, el cliente WCF falla porque no está procesando el encabezado de seguridad.
<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 Mensaje de error del cliente:
El encabezado 'Seguridad' del espacio de nombres 'http: //docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xs 'no fue entendido por el destinatario de este mensaje, lo que hace que el mensaje no se procese. Este error generalmente indica que el remitente de este mensaje ha habilitado un protocolo de comunicación que el receptor no puede procesar. Asegúrese de que la configuración del enlace del cliente sea coherente con el enlace del servicio.
MiWCF
client no necesita ninguna información de marca de tiempo. ¿Hay una manera fácil de tropezar en una rutina de procesamiento? Ya he intentado extender la clase Response y agregar una propiedad [MessageHeader].
EDITAR
Pregunta de otra manera: ¿Cómo implemento unaWCF
cliente que acepta elementos de encabezado personalizados que están marcados ¿Debe comprender?