tags:

views:

929

answers:

2

I've been using the Service Trace Viewer to analyse the WCF service calls that are made in our application but I really need to see the parameter values that are passed to the service methods? Is this possible? I've tried turning the logging to max output but still can't see anything :(

+1  A: 

If you enable message tracing, you should get all the details of both the call (including the XML representation of your message sent out) as well as the answer:

<system.diagnostics >
  <sources>
    <source  
        name="System.ServiceModel.MessageLogging" 
        switchValue="Information, ActivityTracing" >
       <listeners>
          <add name="yourTrace" 
               type="System.Diagnostics.XmlTraceListener" 
               initializeData="C:\Logs\YourMessageLog.svclog">
             <filter type="" />
           </add>
       </listeners>
     </source>
  </sources>
  <trace autoflush="true" />
</system.diagnostics>
<system.serviceModel>
   <diagnostics>
       <messageLogging 
             logMessagesAtTransportLevel="true" 
             logMessagesAtServiceLevel="false"
             logMalformedMessages="true" 
             logEntireMessage="true"
             maxSizeOfMessageToLog="65535000" maxMessagesToLog="500" />
    </diagnostics>
</system.serviceModel>

This should create a file called "YourMessageLog.svclog" in a directory "C:\Logs" (which must exist beforehand!) and which you can view with the WCF Service Trace Viewer.

What you'll see here is the XML representation of the message going out and the response coming back in - your parameters will have been wrapped into your XML structure here. Is that what you're looking for?

Marc

marc_s
I had tried setting the message logging up in this way before but was doing it on the server rather than the client so it wasn't working as I expected. Cheers for pointing me the right way :)
Martin MacPherson
The type for the listeners should be System.Diagnostics.XmlWriterTraceListener
Smazy
A: 

Hi,

I have the exact same question and tried your purposed answer but still the parameter information isn't logged.. maybe there is another missing attribute ?

Gilad

Gilad