Ответ HTTP 500, связывающий CCTray с сервером CC.NET через панель управления через RawXmlMessage.aspx
Я использую сервер CC.NET 1.6 и его соответствующий CCTray, подключаемый к счастью через удаленный доступ, но нужно изменить, чтобы использовать соединение с панелью мониторинга через 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
Если я перейду к этому URL через GET - я получу некоторый Xml с ошибкой "Невозможно обработать ошибку: отсутствует элемент Root". Это может быть артефактом, который я делаю вместо GET вместо POST.
Примечание. Да, я использую localhost в URL-адресе, так как все они содержатся на одной машине в данный момент, если я могу заставить это работать, тогда я, конечно, изменюсь, чтобы использовать лучшее имя хоста.
Ответы
Ответ 1
Работала после обновления до cc.net 1.8
1) Проверить dashboard.config для имени сервера
С помощью скрипача просматривайте запрос и наблюдайте за именем сервера панели управления
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-запроса
Проверьте свой пул приложений для IIS Cruise Control. Если это .NET 4.0, вам это нужно в вашем web.config
<httpRuntime requestValidationMode = "2.0" />
Этот конфиг сидит в cc.net 1.8 web.config, но нуждается в раскомментировании
3) Повторите попытку, вы должны быть хорошими - если не наблюдать ответы в скрипаче