«HTTP ERROR: 500 No realm», использующий образец GWT «MobileWebApp» - PullRequest
3 голосов
/ 08 ноября 2011

Я пытаюсь запустить пример приложения GWT 2.4 "MobileWebApp".При попытке запустить приложение в режиме разработки с помощью Eclipse я получаю сообщение об ошибке 500 No Realm.

Я понимаю, что это проблема аутентификации.

Я не знаком с Google AppEngine или Jetty, но, глядя на web.xml, я вижу, что есть фильтр сервлетов, где он использует appengine UserService для предположительного перенаправления пользователя в Google для аутентификации.

Я использую:

  • Eclipse 3.7 (Indigo SR1)
  • Плагин Google для Eclipse 2.4
  • m2eclipse

Я включаю выдержку из web.xmlниже.Я не уверен, какая другая информация будет полезна для диагностики этой проблемы.

  <security-constraint>
    <display-name>
      Redirect to the login page if needed before showing
      the host html page.
    </display-name>
    <web-resource-collection>
      <web-resource-name>Login required</web-resource-name>
      <url-pattern>/MobileWebApp.html</url-pattern>
    </web-resource-collection>
    <auth-constraint>
      <role-name>*</role-name>
    </auth-constraint>
  </security-constraint>

  <filter>
    <filter-name>GaeAuthFilter</filter-name>
    <!--
      This filter demonstrates making GAE authentication
      services visible to a RequestFactory client.
    -->
    <filter-class>com.google.gwt.sample.gaerequest.server.GaeAuthFilter</filter-class>
  </filter>
  <filter-mapping>
    <filter-name>GaeAuthFilter</filter-name>
    <url-pattern>/gwtRequest/*</url-pattern>
  </filter-mapping>

Ниже приведен вывод в консоли Eclipse:

[WARN] Request /MobileWebApp.html failed - no realm
[ERROR] 500 - GET /MobileWebApp.html?gwt.codesvr=127.0.0.1:9997 (127.0.0.1) 1401 bytes
   Request headers
      Host: 127.0.0.1:8888
      User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:7.0.1) Gecko/20100101 Firefox/7.0.1
      Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
      Accept-Language: en-us,en;q=0.5
      Accept-Encoding: gzip, deflate
      Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
      Connection: keep-alive
   Response headers
      Content-Type: text/html; charset=iso-8859-1
      Content-Length: 1401

Большое спасибо за любые полезные советы!

Редактировать 11/11/11: я добавил тег Jetty, поскольку он кажется уместным для этой проблемы.

Ответы [ 2 ]

1 голос
/ 13 декабря 2011

Если ваш самый первый запрос не удастся, просто получая страницу /MobileWebApp.html, то это, вероятно, не проблема аутентификации. У вас есть GAE для этого проекта (не только GWT)? Это может быть одна проблема.

Я где-то читал, что есть два способа отладки приложения в Eclipse, один из которых запускается как / webapp, и забыл, какой был другой (я не использую Eclipse). Один из них работает, а другой нет.

Если это не сработает, вы можете попробовать заменить встроенный причал:

  • добавить параметр GWT: -server com.google.appengine.tools.development.gwt.AppEngineLauncher
  • Параметр виртуальной машины: -javaagent: /path_to/appengine-agent.jar

И последний вариант - с -noserver, но тогда вы не сможете отладить код на стороне сервера, только GWT на стороне клиента: сначала запустите jetty с mvn jetty: запустите, а затем отладьте в Eclipse с -noserver GWT param.

0 голосов
/ 08 октября 2012

У меня была такая же проблема. Наконец, я заметил, что когда я переключился на более новую версию Appengine, старые библиотеки Appengine оставались в WEB-INF / lib вместе с новыми. Удаление их решило проблему.

...