views:

102

answers:

3

I have a asp.net 3.5 site with a *.asmx that serves several webservice methods. The only client that should be calling these methods is one I wrote, and it calls them using a POST request. However, my error logs show many InvalidOperationException errors due to these methods being called with a GET request.

Question: What might be causing these GET requests? Might proxies convert POST requests to GET requests without the client making the request knowing about it?

+1  A: 

bots and crawlers?

Remus Rusanu
I'm not sure how a bot would find the URL to be called. The user agent strings are almost always empty. Those that aren't I can pin to users trying to call the service from their browser.
Charles
+1  A: 

It's always possible there is a bug in your client app. Why not get hold of an HTTP sniffer so you can see exactly what requests are being sent.

Adam Pierce
I'll have to look into this. The client is a MSVC C++ application using ATL classes to access the web services. Perhaps they default to using GET under certain situations?
Charles
I stepped through the client code and verified the ATL SOAP classes always set the method to POST. I still think something along the network path is changing the request from POST to GET. Thanks.
Charles
+1  A: 

to expand on rusanu's answer, bots and crawlers and/or hackers?

Roy Rico
Hackers were my first assumption, but it happens way too often. If it's hackers, they aren't discrete. Thanks.
Charles