1

在我刚刚安装 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 来建立他们的代理。

4

1 回答 1

1

哦,伙计,有时只需要开车回家,吃一顿晚餐,和孩子们共度一个晚上,以及一个 Stackoverflow 帖子。

我突然想起了很久以前在某个旧版本的 Windows 上遇到的一个类似且完全神秘的问题:我所要做的就是安装或启用一些我震惊地发现默认情况下没有安装和启用的东西。事实上,我进入了程序和功能,打开或关闭 Windows 功能,浏览到 Internet 信息服务/万维网服务/应用程序开发功能,并选中了 .NET 可扩展性和 ASP.NET 旁边的复选框。

所需功能

现在我得到了一个漂亮的 SOAP 响应。

-1,大量失败,嘘声,不喜欢等,微软仍然不允许这个错误更加透明。

于 2012-05-18T01:32:43.560 回答