服务器之间调用SOAP方法的差异



我正在将C#.NET SOAP应用程序从一台服务器移植到一台新服务器。在原始服务器上,我可以传递URL http://oldserver.com/myapp.asmx/method1,它会返回一个带有结果的XML文件。

在新服务器上,这不起作用。它以500 Internal Server Error进行回复。SOAP接口正在工作,因为我可以使用urllib2和suds在新服务器上使用Python应用程序调用相同的方法。

如何在新服务器上实现相同的行为?我们有一个使用基于URL的SOAP请求检查更新的产品,因此新服务器必须能够做到这一点,才能与该领域的产品向后兼容。

在将URL传递给应用程序之前,旧服务器是否可能在内部将其转换为SOAP请求?不幸的是,我只能通过ftp访问旧服务器。HTTP标头告诉我,我正在与Microsoft-IIS/6.0通话。

我发现了问题。它在web.config文件中。旧服务器包含:

<webServices>
    <protocols>
        <add name="HttpGet"/>
    </protocols>
</webServices>

这似乎可以调用基于URL的方法。

最新更新