tipos services protocolo funciona como c# .net soap web-services

c# - services - ¿Es posible rastrear el sobre SOAP que está siendo enviado por un cliente de servicio web.NET?



La aplicación de cliente AC # que desarrollamos llama a un servicio web SOAP externo de una empresa externa.

Ahora quiero rastrear los sobres de solicitud SOAP exactos que está generando el proxy SOAP generado por VS.NET en nuestra aplicación y transferidos al servicio web SOAP externo.

El método de usar un monitor de red como Wireshark (como se describe aquí ) o usar Microsoft Network Monitor no es una opción ya que el servicio web SOAP externo solo proporciona una URL SSL / HTTPS, por lo que la carga de los paquetes HTTP está encriptada y no visible.

Mi pregunta es:

¿Hay alguna forma de configurar las clases de cliente del servicio web integradas en .NET para generar / rastrear / registrar sus solicitudes y respuestas HTTP subyacentes que se están generando / recibiendo? (¿o tal vez algún tipo de evento para suscribirse?)



Si está utilizando un servicio web estándar (no WFC), puede extender la clase SoapExtension como se describe aquí:

http://www.blog.encoresystems.net/articles/how-to-capture-soap-envelopes-when-consuming-a-web-service.aspx

Si está utilizando WFC, entonces puede implementar IEndpointBehavior y IClientMessageBehavior como se describe aquí:

http://weblogs.asp.net/paolopia/archive/2007/08/23/writing-a-wcf-message-inspector.aspx

Yo uso ambos, dependiendo de si estoy usando referencias web o de servicio.