为什么我的webservice方法通过GET调用?

问题描述:

我有一个asp.net 3.5网站的* .asmx服务于几个webservice方法。应该调用这些方法的唯一客户端是我写的,它使用POST请求调用它们。但是,我的错误日志显示了许多InvalidOperationException错误,因为这些方法是通过GET请求调用的。为什么我的webservice方法通过GET调用?

问题:什么可能导致这些GET请求?可能代理将POST请求转换为GET请求,而客户端并不知道请求。

扩大对rusanu的回答,机器人和爬虫和/或黑客?

机器人和爬虫?

+0

我不确定机器人如何找到要调用的URL。用户代理字符串几乎总是空的。那些不是我的人可以固定给尝试从浏览器调用服务的用户。 – Charles 2009-05-22 22:09:24

总是有可能在您的客户端应用程序中存在错误。为什么不抓住一个HTTP嗅探器,以便您可以准确查看要发送的请求。

+0

我得看看这个。客户端是使用ATL类访问Web服务的MSVC C++应用程序。也许他们默认在某些情况下使用GET? – Charles 2009-05-26 13:39:25

+0

我介绍了客户端代码并验证了ATL SOAP类始终将该方法设置为POST。我仍然认为沿着网络路径的某些事情正在改变从POST到GET的请求。谢谢。 – Charles 2009-05-26 13:57:52