Using Fiddler with BizTalk's HTTP Adapter
- by Christopher House
I'm working on an orchestration that's retrieving some data from a Java servlet. The servlet takes a parameter string via HTTP post and returns POX (plain old XML, no SOAP here). I was having trouble getting a valid response from the servlet when I was sending some test messages and wanted to see what my messages were looking like as they went across the wire. Normally I was using WCF, I'd setup message logging, but since that's obviously not an option with the HTTP adapter, my thoughts turned to Fiddler.
A quick Google search turned up some promising results. The posts I read all referred to using Fiddler with the SOAP adapter, but I thoght I could apply the same ideas to the HTTP adapter. This led me to try setting the following context properties:
HttpRequestMessage(HTTP.UseProxy) = true;
HttpRequestMessage(HTTP.ProxyName) = "127.0.0.1";
HttpRequestMessage(HTTP.ProxyPort) = 8888;
I rebuilt my orch, gac'd it, bounced my host and tried submitting a test message. Fiddler was running but I didn't see any traffic show up. I tried fully undeploying/redeploying my application and still, no traffic in Fiddler. I was starting to think that BizTalk was ignoring the proxy settings. To confirm this, I closed Fiddler and submitted a test message. Sure enough, the orch ran to completion, proving that BizTalk was ignoring the proxy settings.
I went back to my orch to see if there could be any other context proprties I needed to set. I saw one that looked promising: HTTP.UseHandlerProxySettings. I set this to false, rebuilt my orch and this time when I submitted, I got an error message, which made sense, I didn't have Fiddler running. I started up Fiddler, submitted another message and there it was, my HTTP traffic, just as I hoped. And, I was quickly able to figure out what the problem was...I had forgotten to set HTTP.ContentType to application/x-www-form-urlencoded.