Welcome to AddressOf.com Sign in | Join | Help

Web Service Woes (It's not land, it's quicksand!!!!!!)

Well, my application ran up until noon today (stopped by the house during lunch to pick something up so I looked in on it).  It ran for approximately 10 hours before croaking.  Didn't have time to look too closely, but it was one of those errors that I can't trap.  Made a small change to see if it's because the debugger is skipping over the generated code for the web service... if the error happens again in about 10 hours, that will be about the time I get home from the users group meeting... so it'll be a perfect time to explore it further.   It does looks like the changes helps out the problem somewhat, but now it's taking even longer to see it occur :-(
Published Tuesday, April 27, 2004 2:27 PM by CorySmith
Filed under:

Comments

# re: Web Service Woes (It's not land, it's quicksand!!!!!!)

Tuesday, April 27, 2004 11:36 PM by Spong
Have you called Microsoft yet? It really sounds like you need some help, possibly with the environment.

Remember, the BCL depends on underlying Windows functionality that might have been moved, broken, damaged or otherwise modified.

For example:
- Are you using a proxy server?
- Does the proxy require authentication?
- Applied any IE Security Updates recently? Perhaps these differ between working and nonworking clients...
- Can you bypass the proxy?

Essentially, if it works somewhere, it's possibly not a BCL bug but an infrastructure or supporting component problem.

Please, call Support. The horse is dead.

# re: Web Service Woes (It's not land, it's quicksand!!!!!!)

Saturday, May 01, 2004 1:20 AM by mawado
Sorry to be late to the game of hunt the bug and I hope that it has been resolved already.
If not, here are some suggestions that haven't been mentioned in this thread yet. Please note that these are phrased as groovy cool-o Socratic questions so I can look intelligent without actually knowing the answers.
1. Did you run ad-aware or some similar spyware detector to determine that you don't have any evil beasties fiddling with packets in transit?
2. Underneath the covers, web services use web requests. Did you try to run a test of just making a request to a static page on the web services machine in the same general pattern as your web service request?
3. It seems that web request uses the 'default' proxy configuration if you don't provide one in the program. As near as I can tell, the definition of 'default' is:
a) a registry setting at key HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Connections\WinHttpSettings [expletive of your choice. There is a space in Internet Settings. Adjust for line breaks accordingly].
This is set by a tool named proxycfg.exe from the mothership http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winhttp/http/proxycfg_exe__a_proxy_configuration_tool.asp
It only works on server 2003, and xp with specific patches, and it looks unlikely given its rather limited usefulness.
b) the proxy configuration in machine.confg at element /configuration/system.net/settings/defaultProxy/proxy [see http://support.microsoft.com/default.aspx?scid=kb;EN-US;318140] Note, web.config is here for asp I think.
c) the proxy configured in the manual pane of /start/control panel/internet settings/connections/LAN Settings [The one labeled Proxy Server, not the two labeled automatic configuration]. Proxies configured via WPAD or PAC script are ignored.
You will perhaps note that this definition of default doesn't match my definition which would be "THE PROXY THE CUSTOMER CONFIGURED FOR THEIR BROWSER YOU DOLT OF A SYSTEM" [OK I feel better now.]
I suspect these decisions were made with the idea of changing the [machine|web].config for a few servers instead of every installation of a winforms product.
Your settings maybe different between your working and non-working installations.
This also means that Fiddler (an excellent tool by the way), when it starts can modify the proxy configuration by inserting itself in the proxy list ahead of scripted proxies. I do not know if fiddler itself reads the scripts and forwards to the script defined proxy.
4.) I note that in machine.config, the default for maximum number of connections is 2. It seems like this could interact with keep alive in a bad way.
5.) The system Err object has a LastDllError property that may be useful. I assume that you could choose the break option on the unhandled exception, and ask for the property using the output window in the IDE. I used this technique when using platform invoke, but don't know if you can do it if haven't done platform invoke [http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vblr7/html/vaobjerr.asp]
6.) ?I've never used OnError, can it catch the problem?

I would be interested in the final solution to your problem, especially if it's not the keep-alive hack.

Thanks
Anonymous comments are disabled