Ответ 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 с ошибкой "Невозможно обработать ошибку: корневой элемент отсутствует". Это может быть артефактом того, что я делаю GET вместо POST, конечно.

Примечание. Да, я использую localhost в URL-адресе, поскольку в настоящий момент он содержится на одной машине, и если я смогу заставить это работать, я, конечно, перейду на более подходящее имя хоста.

1 ответ

Решение

Сработало после обновления до 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

Проверьте пул приложений на наличие круиз-контроля IIS. Если это.NET 4.0, то вам нужно это в вашем web.config

<httpRuntime requestValidationMode = "2.0" />

Этот конфиг находится в cc.net 1.8 web.config, но требует раскомментирования

3) Попробуй еще раз, у тебя должно получиться хорошо - если не соблюдаешь ответы в фиддлере

Другие вопросы по тегам