martes, 12 de marzo de 2013 a las 12:13hs por Nahuel Soldevilla
Frecuentemente nos encontramos con la necesidad de poder analizar el intercambio de información cuando estamos desarrollando un proyecto que involucra la consumición de un servicio web, especialmente si este es de terceros.
Utilizando Windows Communication Foundation (WCF), tenemos la opción de habilitar el seguimiento de las llamadas, indicándolo mediante la configuración del archivo Web.config:
Dentro de <configuration>:
<system.diagnostics> <sources> <source name="System.IdentityModel" switchValue="Verbose" logKnownPii="true"> <listeners> <add name="xml" /> </listeners> </source> <!-- Log all messages in the 'Messages' tab of SvcTraceViewer. --> <source name="System.ServiceModel.MessageLogging"> <listeners> <add name="xml" /> </listeners> </source> <!-- ActivityTracing and propogateActivity are used to flesh out the 'Activities' tab in SvcTraceViewer to aid debugging. --> <source name="System.ServiceModel" switchValue="Information, ActivityTracing" propagateActivity="true"> <listeners> <add name="xml" /> </listeners> </source> <!-- This records Microsoft.IdentityModel generated traces, including exceptions thrown from the framework. --> <source name="Microsoft.IdentityModel" switchValue="Warning"> <listeners> <add name="xml" /> </listeners> </source> </sources> <sharedListeners> <add name="xml" type="System.Diagnostics.XmlWriterTraceListener" initializeData="trace.e2e" /> </sharedListeners> <trace autoflush="true" /> </system.diagnostics>
Dentro de <system.serviceModel>:
<diagnostics> <messageLogging logMessagesAtTransportLevel="true" logMessagesAtServiceLevel="false" logMalformedMessages="true" logEntireMessage="true" maxSizeOfMessageToLog="65535000" maxMessagesToLog="500" /> </diagnostics>
El sistema de diagnóstico se encargará de loguear el contenido de las llamadas al archivo trace.e2e en la carpeta raíz de nuestro proyecto.
La herramienta SvcTraceViewer nos permite revisar este archivo con facilidad.
Podemos observar que en la sección «Message Log Trace» Se encuentra la información que necesitamos:
Dentro del xml, nuestra información se encuentra en el cuerpo (s:Body):
Categoria WCF | Etiquetas: SvcTraceViewer, tracing, wfc, xml
Deja un comentario