Debug cryptic WCF errors with WCF Tracing and the Microsoft Service Trace Viewer

Some thoughts scribbled down on Monday 16 February 2009 at 01:13 PM

While working on a project involving Silverlight and WCF REST I ran into some errors that didn't give me much insight into the actual problem.

The error I got was:

System.Net.WebException: The remote server return an error: NotFound

WCFError.png

The usual culprit is the message returning data greater than the default MaxMessageSize of 64K. In my case I was sure my message less than that.

I followed the following procedure to debug this error:

  1. Enable tracing in WCF through the web.config
    <system.diagnostics>
        <sources>
          <source name="System.ServiceModel" switchValue="Information, ActivityTracing" propagateActivity="true">
            <listeners>
              <add name="traceListener" type="System.Diagnostics.XmlWriterTraceListener" initializeData="c:\log.svclog"></add>
            </listeners>
          </source>      
        </sources>
      </system.diagnostics>
    
  1. Run the application and trigger the error
  2. Open the log file (c:\log.svclog)
  3. Microsoft Service Trace Viewer will open up
  4. Navigate to the activity that caused the error
  5. See the stack trace
    MicrosoftServiceTraceViewer.png

In my case the error was a DateTime issue. One of my date fields was not set and hence defaults to 0001-01-01 and hence couldn't be serialized when it returns to the client.

In most cases if you get this type of error it usually is a serialization error.

Comments

Mon 26 Oct 2009 at 9:27 PM

bespoke software → http://www.geeks.ltd.uk/Services.html

Interesting,

Some great tips,

Thanks for the advice,

Keep up the good work.

Permalink

Post your comment