Tomcat deployment problem: java.lang.IndexOutOfBoundsException: Index: 0, Size: 0

545 views
Skip to first unread message

mike wade

unread,
Apr 3, 2009, 9:01:26 PM4/3/09
to Google Web Toolkit, ond...@gmail.com
Please Help,
I just tested my gwt app with RPC on hosted mode, it works fine. When
I deployed the app to Tomcat (Linux) it does not work. I get the
following message when the client issue a RPC call to the server: "The
call failed on the server; see server log for details" .

I included system.out.println in the server code, but nothing gets
printed, which mean that the server is not being executed and cannot
be the problem.

When I looked at the logs of Tomcat I see the following error:
Apr 3, 2009 2:05:00 PM org.apache.catalina.core.ApplicationContext log
SEVERE: Exception while dispatching incoming RPC call
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
at java.util.ArrayList.RangeCheck(ArrayList.java:547)
at java.util.ArrayList.get(ArrayList.java:322)
at
com.google.gwt.user.server.rpc.impl.ServerSerializationStreamReader.extract
(ServerSerializationStreamReader.java:\
610)
at
com.google.gwt.user.server.rpc.impl.ServerSerializationStreamReader.readInt
(ServerSerializationStreamReader.java:\
427)
at
com.google.gwt.user.client.rpc.impl.AbstractSerializationStreamReader.prepareToRead
(AbstractSerializationStreamRe\
ader.java:38)
at
com.google.gwt.user.server.rpc.impl.ServerSerializationStreamReader.prepareToRead
(ServerSerializationStreamReader\
.java:382)
at com.google.gwt.user.server.rpc.RPC.decodeRequest(RPC.java:
234)
at
com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall
(RemoteServiceServlet.java:162)
at com.google.gwt.user.server.rpc.RemoteServiceServlet.doPost
(RemoteServiceServlet.java:85)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:
637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:
717)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter
(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke
(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke
(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke
(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke
(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke
(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service
(CoyoteAdapter.java:286)
at org.apache.coyote.http11.Http11Processor.process
(Http11Processor.java:845)
at org.apache.coyote.http11.Http11Protocol
$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run
(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:619)

Below is the content of my web.xml file:
<?xml version="1.0" encoding="UTF-8"?>

<!-- admin COPY THIS FILE TO THE PRODUCTION/WEB-INF DIRECTORY -->

<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

<display-name>AvlDispatch Application</display-name>
<description>Application for Avl Dispatch System</description>

<context-param>
<param-name>webmaster</param-name>
<param-value>ad...@mycompany.com</param-value>
<description>The EMAIL address of the administrator to whom
questions and comments about this application should be addres\
sed.</description>
</context-param>

<!-- Standard Action Servlet Configuration -->
<servlet>
<servlet-name>RemoteServices</servlet-name>
<servlet-
class>com.mycompany.teledispatch.avldispatch.server.RemoteServicesImpl</
servlet-class>
</servlet>

<servlet>
<servlet-name>RemoteServicesCompanies</servlet-name>
<servlet-
class>com.mycompany.teledispatch.avldispatch.server.RemoteServicesCompaniesImpl</
servlet-class>
</servlet>

<servlet>
<servlet-name>RemoteServicesDrivers</servlet-name>
<servlet-
class>com.mycompany.teledispatch.avldispatch.server.RemoteServicesDriversImpl</
servlet-class>
</servlet>

<servlet>
<servlet-name>RemoteServicesZones</servlet-name>
<servlet-
class>com.mycompany.teledispatch.avldispatch.server.RemoteServicesZonesImpl</
servlet-class>
</servlet>

<!-- Standard Action Servlet Mapping -->
<servlet-mapping>
<servlet-name>RemoteServices</servlet-name>
<url-pattern>/RemoteServices</url-pattern>
</servlet-mapping>

<servlet-mapping>
<servlet-name>RemoteServicesCompanies</servlet-name>
<url-pattern>/RemoteServicesCompanies</url-pattern>
</servlet-mapping>

<servlet-mapping>
<servlet-name>RemoteServicesDrivers</servlet-name>
<url-pattern>/RemoteServicesDrivers</url-pattern>
</servlet-mapping>

<servlet-mapping>
<servlet-name>RemoteServicesZones</servlet-name>
<url-pattern>/RemoteServicesZones</url-pattern>
</servlet-mapping>

</web-app>


Oumar

Alexandre Walter Pretyman

unread,
Apr 27, 2009, 4:30:22 PM4/27/09
to Google Web Toolkit
Buddy,

Check that you are using the gwt-servlet-*.jar and NOT the gwt-user-*
and gwt-dev-* jars for your deployment.
> xsi:schemaLocation="http://java.sun.com/xml/ns/javaeehttp://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
Reply all
Reply to author
Forward
0 new messages