HTTP 500响应,通过RawXmlMessage.aspx通过仪表板将CCTray连接到CC.NET服务器



我使用的是CC.NET 1.6服务器及其相应的CCTrace,它们通过远程处理进行了愉快的连接,但需要更改为使用通过HTTP的仪表板连接,以便我可以开始将URL分发给开发人员。

将我的仪表板URL放入CCTray:

http://localhost/CruiseControl/server/local/ViewServerReport.aspx

CCTray返回的结果

Failed to connect to server: The remote server returned an error: (500) Internal Server Error.

如果我检查我的IIS日志,我可以看到该请求被转换为到该位置的POST,并且日志确认了500响应。

/CruiseControl/server/local/ViewServerReport.aspx/server/localhost/RawXmlMessage.aspx

如果我通过GET导航到那个URL,我会得到一些Xml,错误为"无法处理错误:缺少根元素"。当然,这可能是我做GET而不是POST的产物。

注意:是的,我在URL中使用localhost,因为它目前都包含在一台机器上,如果我能做到这一点,那么我当然会改为使用更好的主机名。

在升级到cc.net 1.8 后解决了这个问题

1) 检查dashboard.config以获取服务器名称

使用fiddler查看请求通过并观察仪表板服务器名称

http://localhost/CruiseControl/server/yourdomain.com/ViewServerReport.aspx

在上述情况下,它是yourdomain.com

打开dashboard.config并确保有一个名称相同的条目

<server name="yourdomain.com" url="tcp://localhost:21234/CruiseManager.rem" allowForceBuild="true" allowStartStopBuild="true" backwardsCompatible="false" />

2) 检查IIS请求验证

请检查您的应用程序池中是否有Cruise Control的IIS。如果它是.NET 4.0,那么您需要在web.config 中使用它

<httpRuntime requestValidationMode = "2.0" />

该配置位于cc.net 1.8 web.config中,但需要取消对的注释

3) 再试一次,你应该很好-如果没有在fiddler 中观察到响应

最新更新