Where does GWT’s Hosted Mode Jetty Run From


I'm trying to call a web service in my back end java code when it's
running in hosted mode. Everything loads fine, the GWT RPC call works
and I can see it on the server, then as soon as it tries to call an
external web service (using jax-ws) the jetty falls over with a
Internal Server Error (500).

I have cranked the log all the way up to
ALL but I still don't see any stack traces or cause for this error. I just get one line about the 500 Error with the request header and response.

Does anyone know if the internal jetty keeps a log file somewhere, or
how I can go about debugging what's wrong?

I'm running GWT 1.7 on OS X 10.6.1

Edit: I know that I can use the -noserver option, but I'm genuinely interested in finding out where this thing lives!

Best Solution

From the documentation:

You can also use a real production server while debugging in hosted mode. This can be useful if you are adding GWT to an existing application, or if your server-side requirements have become more than the embedded web server can handle. See this article on how to use an external server in hosted mode.

So the simplest solution would be to use the -noserver option and use your own Java server - much less limitations that way, without any drawbacks (that I know of). If you are using the Google Plugin for Eclipse, it's easily set up in the properties of the project. Detailed information on configuration can be found on the official site.

Edit: you could try bypassing the Hosted Mode TreeLogger, as described here: http://blog.kornr.net/index.php/2009/01/27/gently-asking-the-gwt-hosted-mode-to-not):

Just create a file called "commons-logging.properties" at the root of your classpath, and add the following line:

[to use the Log4j backend] org.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JLogger

[to use the JDK14 backend] org.apache.commons.logging.Log=org.apache.commons.logging.impl.Jdk14Logger

[to use the SimpleLog backend] org.apache.commons.logging.Log=org.apache.commons.logging.impl.SimpleLog

Edit2: the trunk of GWT now also supports the -logfile parameter to enable file logging, but it probably won't help in this case, since the problem lies in the way the Hosted Mode treats the exceptions, not the way it presents them.

Related Question