在我刚刚安装 IIS 的新(ish)Windows 7 x64 开发笔记本电脑上,我正在尝试运行使用 .NET 4.0 编译并使用安装项目中的 MSI 安装的 .asmx Web 服务。但每当我尝试从 SoapUI 或从 .NET WCF 客户端执行服务时,我都会收到 HTTP 错误 500 响应。而且我找不到有关该错误的更多详细信息。这是进入 IIS 日志的内容:
2012-05-17 21:51:23 10.10.14.155 POST /CwtReservationPushService/ReservationPushService.asmx - 443 - 10.10.14.155 Jakarta+Commons-HttpClient/3.1 500 0 0 121
2012-05-17 22:03:45 ::1 POST /CwtReservationPushService/ReservationPushService.asmx - 443 - ::1 - 500 0 0 131
但我可以找到的系统事件查看器日志中没有记录任何内容;C:\Windows\System32\LogFiles\HTTPERR\httperr1.log 文件中没有关于错误 500 的内容。我安装了 Failed Request Tracing 并启用了它,但在生成的 XML 中似乎唯一相关的部分是:
ModuleName ManagedPipelineHandler
Notification 16
HttpStatus 500
HttpReason Internal Server Error
HttpSubStatus 0
ErrorCode 0
ConfigExceptionInfo
Notification MAP_REQUEST_HANDLER
ErrorCode The operation completed successfully. (0x0)
这是 SoapUI 得到的结果:
HTTP/1.1 500 Internal Server Error
Cache-Control: private
Transfer-Encoding: chunked
Content-Type: text/xml; charset=utf-8
Server: Microsoft-IIS/7.5
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
Date: Fri, 18 May 2012 01:00:14 GMT
我还能在哪里查找导致此错误 500 的原因?广泛的谷歌搜索没有产生任何有用的信息。或者任何人都熟悉这个错误?
我应该提到,浏览到 .asmx 成功产生了通常的“支持以下操作。有关正式定义,请查看服务描述”页面,并且 SoapUI 和我的 .NET WCF 客户端都能够从中检索 WSDL URL 来建立他们的代理。