IIS7 上的 WebService 返回“数据无效”,但在 ASP.NET 开发服务器中可以工作

IIS7 上的 WebService 返回“数据无效”,但在 ASP.NET 开发服务器中可以工作

我对一个从未遇到过的错误感到很恼火:我建立了一个在 .net 4 上运行的简单 SOAP Web 服务,它接收一个字符串作为输入并返回一个 XMLDocument。

在开发人员环境(即 ASP.NET 开发服务器)中测试服务时,一切正常,但是当我将 WS 放在 IIS7 服务器上时,服务器拒绝处理请求并返回错误 500,指出:“服务器无法处理请求 - 数据无效。

我从位于同一网络但不同机器的客户端测试 WS。从客户端发送的 SOAP 请求与 WS 要求的完全相同。该请求毫无疑问是正确的,因为我设法从本地客户端正确调用 WS,与“localhost”进行通信。

我是否需要在 IIS7 上配置一些额外的设置?

干杯,阿洛伊斯

答案1

我会检查用于读取 XML 文档的路径,以确保它在 IIS 中也能正确计算。如果您使用 Server.MapPath 之类的东西,并且您的站点具有不同的 vdir 结构,那么就可以做到这一点。

还可以通过返回一个简单的 hello world 而不是完整的 xml 文档来进行测试,看看是否有区别并帮助您缩小原因范围。

如果您使用的是 WCF,则绑定会很特别。您的 IIS 绑定名称需要与 WCF 期望的相同。这是 stackoverflow.com 的一个问题,但值得一看。

还要检查 IIS 日志,看是否有子状态代码来提供更多线索。

相关内容