Friday, December 14, 2007

Fiddler

Sometimes accomplishing a seemingly simple programming task involves hours of finding the right tool. Today's seemingly simple task was to view the SOAP requests and response to a web service running on a remote computer.

I had no luck with my usual network monitor, TCPMon. I have no control over the URL of the HTTP GET request, so I can't listen for it on my localhost. This tool has worked great in the past when I can modify the binding URL to point to the host and port that TCPMon is monitoring.

I had better luck with Microsoft Network Monitor 3.1. I was able to see the requests and responses in the log, filter them to weed out the rest of the communication. But darn it, I couldn't figure out how to see the text of the XML message. I banged my head against this one until I determined there isn't an easy way to view the request and response.

Finally, my usual method of Google searching using different keywords allowed me to stumble upon Fiddler, a tool designed to monitor HTTP traffic between your computer and everywhere else. 10 minutes later I had my problem debugged. Why couldn't Microsoft Network Monitor make it that easy? TCPMon appeared to be the right tool also but based on my searching others had the same problem trying to monitor HTTP traffic with it.

Try Fiddler. It probably does more than my simple task, so maybe next time I open it I'll actually go through the options in the menu.

There is probably a moral to this story about usability of tools or finding the right tool for the job or finding a better way to find the right tool.

Wednesday, December 12, 2007

Wednesday, December 5, 2007

Carbide or Symbian or Make or Vista or ...

I've been everywhere Google can take me to try and solve the problem of using Carbide 1.2 on Windows Vista. The same install of Carbide and the device platform for Symbian S60 FP 2.0 (or something like that) works fine on Windows XP, but after many hours of frustrating searching and configuring - no luck on Vista.

The Nokia developers blog has simple instructions for getting it to work and others have had success.

I think the problem is the CreateProcess call that the GNU make command launches. A verbose output says something like the child process has lost ("reaping the losing child process") instead of the winning process as I can see happens on XP.

So I replaced make with the latest one, 3.8, which I finally found a binary of in a download of a compiler (mini compiler or something like that). No change in the Carbide situation though.

Could it be my user accounts? Disabling them didn't work. Changing all the file ownership and giving all users full control of the files and directories didn't help.

I've read that CreateProcess doesn't do well when it needs elevation. But no amount of searching can uncover the magic to fix this.

So, for a while I'll just give up and try again later. I was just trying to learn a little about Symbian. Maybe I'll learn something else for a while instead.