2009-05-22 6 views
2

J'ai un site asp.net 3.5 avec un * .asmx qui sert plusieurs méthodes webservice. Le seul client qui devrait appeler ces méthodes est celui que j'ai écrit, et il les appelle en utilisant une requête POST. Cependant, mes journaux d'erreurs montrent de nombreuses erreurs InvalidOperationException dues à l'appel de ces méthodes avec une requête GET.Pourquoi ma méthode webservice serait-elle appelée via GET?

Question: Qu'est-ce qui pourrait causer ces requêtes GET? Les proxys peuvent-ils convertir les requêtes POST en requêtes GET sans que le client ne sache en faire la demande?

Répondre

1

pour développer la réponse de rusanu, les robots et/ou les hackers?

+0

Les pirates étaient ma première hypothèse, mais cela arrive trop souvent. Si ce sont des hackers, ils ne sont pas discrets. Merci. – Charles

1

robots et robots?

+0

Je ne sais pas comment un bot trouverait l'URL à appeler. Les chaînes de l'agent utilisateur sont presque toujours vides. Ceux qui ne sont pas je peux épingler aux utilisateurs essayant d'appeler le service de leur navigateur. – Charles

1

Il est toujours possible qu'il y ait un bogue dans votre application client. Pourquoi ne pas avoir un sniffer HTTP pour voir exactement quelles sont les requêtes envoyées.

+0

Je vais devoir me pencher là-dessus. Le client est une application MSVC C++ utilisant des classes ATL pour accéder aux services Web. Peut-être qu'ils utilisent par défaut GET dans certaines situations? – Charles

+0

J'ai parcouru le code client et vérifié que les classes ATL SOAP définissent toujours la méthode sur POST. Je pense toujours que quelque chose le long du chemin réseau change la requête de POST à ​​GET. Merci. – Charles

Questions connexes