Google app engine &引用;HTTP错误:500无域“;运行GWT';s";MobileWebApp“;样品

Google app engine &引用;HTTP错误:500无域“;运行GWT';s";MobileWebApp“;样品,google-app-engine,gwt,jetty,Google App Engine,Gwt,Jetty,我正在尝试运行GWT2.4示例应用程序“MobileWebApp”。当我试图通过Eclipse在开发模式下运行应用程序时,会出现500个“无领域”错误 我知道这是一个身份验证问题 我不熟悉Google App Engine或Jetty,但通过查看web.xml,我可以看到有一个servlet过滤器,它使用appengine用户服务将用户重定向到Google进行身份验证 我正在使用: Eclipse 3.7(Indigo SR1) Eclipse2.4的谷歌插件 m2eclipse 下面是we

我正在尝试运行GWT2.4示例应用程序“MobileWebApp”。当我试图通过Eclipse在开发模式下运行应用程序时,会出现500个“无领域”错误

我知道这是一个身份验证问题

我不熟悉Google App Engine或Jetty,但通过查看web.xml,我可以看到有一个servlet过滤器,它使用appengine用户服务将用户重定向到Google进行身份验证

我正在使用:

  • Eclipse 3.7(Indigo SR1)
  • Eclipse2.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>
非常感谢您的建议


2011年11月11日编辑:我添加了Jetty标记,因为它似乎与此问题有关。

如果您的第一个请求失败,只需获取/MobileWebApp.html页面,则可能不是身份验证问题。您是否为该项目启用了GAE(不仅仅是GWT)?这可能是一个问题

  <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中有两种调试应用程序的方法,一种是使用run as/webapp,而忘记了另一种方法(我不使用Eclipse)。其中一个有效,另一个无效

如果不起作用,您可以尝试更换内置码头:

  • 添加GWT参数:-server com.google.appengine.tools.development.GWT.AppEngineLauncher
  • VM参数:-javaagent:/path\u到/appengine-agent.jar

最后一个选项是使用-noserver,但是您将无法调试服务器端代码,只能调试客户端GWT代码:首先使用mvn jetty启动jetty:run,然后使用-noserver GWT param在Eclipse中调试

我也有同样的问题。最后我注意到,当我切换到更新版本的Appengine时,旧的Appengine库与新的库一起保留在WEB-INF/lib中。
删除它们解决了问题。

请注意,在没有AppEngine的情况下,我们有相同的东西:只有
为我们引入了“无领域”错误500。对于这种特殊情况有什么建议吗?