Reputation: 1903
I'm receiving an "Unrecognized message version" error when calling a home-grown WCF service. This service sits in the DMZ behind an F5 load balancer. The F5 manages SSL certs then forwards the message onto the server over HTTP (not HTTPS). The same service deployed on an internal server that does not route through the F5 works fine.
I want to inspect the version of the messages along the way. The server stack trace looks as though IIS is handing off to .NET code within the guts of the WCF framework then blowing up before it forwards the message to my code.
I've been playing around with Fiddler on the client side and the IIS logging on the server but can't seem to find message details that would lead me anywhere. I've also configured the service trace log (config below) but am seeing no results added. Any other suggestions either of tools, cause of the error or what I may not be understanding of what the tools are showing me?
<system.diagnostics>
<sources>
<source name="System.ServiceModel"
switchValue="Information, ActivityTracing"
propagateActivity="true">
<listeners>
<add name="traceListener"
type="System.Diagnostics.XmlWriterTraceListener"
initializeData= "c:\Temp\Traces.svclog" />
</listeners>
</source>
</sources>
</system.diagnostics>
UPDATE - Core issue solved I've since found the specific issue I was having was based on the F5 load balancer redirecting back to itself as well as onto the server as expected. I think it may still be useful to know more about how to track the state of a request along the way.
Upvotes: 1
Views: 333
Reputation: 21751
Here are a couple of things to check:
Does the wcf process have write access to the c:\temp directory? (ProcessMonitor can be really useful for verifying this sort of thing: http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx
It sounds like it could be a serialization issue, maybe try adding a listener on System.Runtime.Serialization as described here: http://msdn.microsoft.com/en-us/library/ms733025.aspx
Upvotes: 1