Откуда запускается пристань GWT в режиме хостинга? - PullRequest
8 голосов
/ 06 октября 2009

Я пытаюсь вызвать веб-сервис в моем бэкэнд-коде Java, когда он работает в режиме хостинга. Все загружается нормально, работает вызов GWT RPC и я могу видеть это на сервере, а затем, как только он пытается вызвать внешний веб-сервис (используя jax-ws) причал падает с Внутренняя ошибка сервера (500).

Я провернул бревно до ВСЕ, но я до сих пор не вижу следов стека или причины этой ошибки. Я просто получаю одну строку об ошибке 500 с заголовком запроса и ответом.

Кто-нибудь знает, хранит ли где-нибудь внутренний журнал файл журнала, или как я могу отладить что не так?

Я использую GWT 1.7 в OS X 10.6.1

Редактировать: я знаю, что могу использовать опцию -noserver, но мне искренне интересно узнать, где эта штука живет!

1 Ответ

3 голосов
/ 06 октября 2009

С документация :

Вы также можете использовать реальную продукцию сервер во время отладки в размещенном режиме. Это может быть полезно, если вы добавляете GWT для существующего приложения, или если ваши требования на стороне сервера имеют стать больше, чем встроенный веб Сервер может справиться. Смотрите эту статью на как использовать внешний сервер в размещенный режим.

Таким образом, самое простое решение - использовать опцию -noserver и использовать свой собственный Java-сервер - гораздо меньше ограничений, без каких-либо недостатков (о которых я знаю). Если вы используете плагин Google для Eclipse, его легко настроить в свойствах проекта. Подробную информацию о конфигурации можно найти на официальном сайте .

Редактировать: вы можете попытаться обойти TreeLogger размещенного режима, как описано здесь: http://blog.kornr.net/index.php/2009/01/27/gently-asking-the-gwt-hosted-mode-to-not):

Просто создайте файл с именем "commons-logging.properties" на корень вашего classpath, и добавьте следующая строка:

[чтобы использовать бэкэнд Log4j] org.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JLogger

[использовать бэкэнд JDK14] org.apache.commons.logging.Log=org.apache.commons.logging.impl.Jdk14Logger

[чтобы использовать бэкэнд SimpleLog] org.apache.commons.logging.Log=org.apache.commons.logging.impl.SimpleLog

Edit2: ствол GWT теперь также поддерживает параметр -logfile, чтобы включить ведение журнала файлов, но, вероятно, это не поможет в этом случае, поскольку проблема заключается в том, как размещенный режим обрабатывает исключения, а не как представляет их.

...