通过仪表板通过RawXmlMessage.aspx将CCTray连接到CC.NET服务器的HTTP 500响应 [英] HTTP 500 response connecting CCTray to CC.NET server via dashboard via RawXmlMessage.aspx

查看:84
本文介绍了通过仪表板通过RawXmlMessage.aspx将CCTray连接到CC.NET服务器的HTTP 500响应的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用CC.NET 1.6服务器及其相应的CCTray通过远程连接进行愉快的连接,但需要更改为通过HTTP使用仪表板连接,这样我才能开始将URL分发给开发人员。

将我的仪表板URL放入CCTray:

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

返回CCTray的结果

 无法连接到服务器:远程服务器返回错误:(500)Internal Server Error。 

如果我查看IIS日志,可以看到请求已变成该位置的POST,并且日志确认了500条响应。

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

如果我通过GET导航到该URL,则会收到一些错误为无法处理错误:Root的Xml元素丢失。当然,这可能是我执行GET而不是POST的产物。



注意:是的,我正在URL中使用localhost,因为目前所有这些都包含在一台计算机上,如果我可以使它工作,那么我当然会更改为使用更好的主机名。

解决方案

升级到cc.net 1.8后解决此问题



1)检查dashboard.config中的服务器名称



使用提琴手观看请求并观察仪表板服务器名称

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

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



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

 <服务器名=您的域。 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)再试一次,您应该很好-如果没有观察到提琴手的反应


I'm using CC.NET 1.6 server and its corresponding CCTray connecting happily via remoting but need to change to use the dashboard connection via HTTP so that I can start farming the URL out to developers.

Putting my dashboard URL into CCTray:

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

Results in CCTray returning

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

If I check my IIS logs, I can see the request was turned into a POST to this location and the log confirms the 500 response.

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

If I navigate to that URL via GET - I get some Xml with error "Unable to process error: Root element is missing". This could be an artifact of me doing a GET instead of a POST of course.

Note: Yes I am using localhost in the URL as it is all contained on the one machine at the moment, if I can get this to work then I will of course change to use better hostname.

解决方案

Worked this out after upgrading to cc.net 1.8

1) Check dashboard.config for server name

Use fiddler to watch the request go through and observe the dashboard server name

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

In the above case it is yourdomain.com

Open your dashboard.config and make sure there is an entry with the same name

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

2) Check IIS request validation

Check your application pool for Cruise Control's IIS. If it is .NET 4.0 then you need this in your web.config

<httpRuntime requestValidationMode = "2.0" />

That config is sitting in cc.net 1.8 web.config but needs uncommenting

3) Try again, you should be good - if not observe responses in fiddler

这篇关于通过仪表板通过RawXmlMessage.aspx将CCTray连接到CC.NET服务器的HTTP 500响应的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆