rus*_*elf 8 gwt embedded-jetty
我正在尝试在托管模式下运行时在后端java代码中调用Web服务.一切都很好,GWT RPC调用工作,我可以在服务器上看到它,然后一旦它尝试调用外部Web服务(使用jax-ws),jetty就会出现内部服务器错误(500).
我已经将日志一直转到ALL,但我仍然没有看到任何堆栈跟踪或导致此错误.我只得到一行关于请求标头和响应的500错误.
有没有人知道内部码头是否在某处保存了日志文件,或者我如何调试错误?
我在OS X 10.6.1上运行GWT 1.7
编辑:我知道我可以使用-noserver选项,但我真的很想知道这个东西在哪里生活!
从文档中:
在托管模式下调试时,您还可以使用真实的生产服务器。如果您要将 GWT 添加到现有应用程序,或者您的服务器端要求超出了嵌入式 Web 服务器的处理能力,这会很有用。请参阅这篇文章,了解如何在托管模式下使用外部服务器。
因此,最简单的解决方案是使用该-noserver选项并使用您自己的 Java 服务器 - 这样限制更少,没有任何缺点(据我所知)。如果您使用的是 Google Plugin for Eclipse,则可以在项目的属性中轻松设置。详细的配置信息可以在官方网站上找到。
编辑:您可以尝试绕过托管模式 TreeLogger,如下所述: http: //blog.kornr.net/index.php/2009/01/27/gently-asking-the-gwt-hosted-mode-to-not):
只需在类路径的根目录下创建一个名为“commons-logging.properties”的文件,然后添加以下行:
[使用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 参数来启用文件日志记录,但在这种情况下它可能没有帮助,因为问题在于托管模式处理异常的方式,而不是它呈现异常的方式。