我正试图在我的后端java代码中调用Web服务 在托管模式下运行。一切都很好,GWT RPC调用工作 我可以在服务器上看到它,然后一旦它试图调用一个 外部网络服务(使用jax-ws)码头摔倒了 内部服务器错误(500)。
我已经将日志一直发送到了 所有但我仍然没有看到任何堆栈跟踪或导致此错误。我只得到一行关于请求标头和响应的500错误。
有没有人知道内部码头是否在某处保留了日志文件,或者 我该如何调试出错?
我在OS X 10.6.1上运行GWT 1.7
编辑:我知道我可以使用-noserver选项,但我真的很想知道这个东西的位置!
答案 0 :(得分:3)
您也可以使用真实的制作 服务器在托管模式下调试。 如果要添加,这可能很有用 GWT到现有的应用程序,或者如果 你的服务器端要求 变得不仅仅是嵌入式网络 服务器可以处理。请参阅此文章 如何使用外部服务器 托管模式。
所以最简单的解决方案是使用-noserver
选项并使用您自己的Java服务器 - 更不用说那样的限制,没有任何缺点(我知道)。
如果您使用的是Google Plugin for Eclipse,则可以在项目属性中轻松设置。有关配置的详细信息,请参见the official site。
编辑:您可以尝试绕过托管模式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参数来启用文件记录,但在这种情况下它可能无济于事,因为问题在于托管模式处理异常的方式,而不是它的方式介绍他们。