Tomcat: Data sent with this request was not parameterized

97 visualizzazioni
Passa al primo messaggio da leggere

Spudgy

da leggere,
16 ago 2006, 00:31:5216/08/06
a Google Web Toolkit
I'm trying to deploy a simple RPC app to tomcat just to try and get it
to work, but I just get:
com.google.gwt.user.client.rpc.InvocationException: The call failed on
the server; see server log for details

All I can find from the server log is a POST to the servlet which
results in a 500 Internal server error, "Data sent with this request
was not parameterized."

And the exception:
SEVERE: Exception while dispatching incoming RPC call
java.lang.NumberFormatException: For input string: ""
at
java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
at java.lang.Integer.parseInt(Integer.java:468)
at java.lang.Integer.parseInt(Integer.java:497)
at
com.google.gwt.user.server.rpc.ServerSerializationStream.getInstanceName(ServerSerializationStream.java:438)
at
com.google.gwt.user.server.rpc.ServerSerializationStream.nextInstance(ServerSerializationStream.java:357)
at
com.google.gwt.user.server.rpc.ServerSerializationStream.deserialize(ServerSerializationStream.java:489)
at
com.google.gwt.user.server.rpc.ServerSerializationStream.readObject(ServerSerializationStream.java:443)
at
com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:226)
at
com.google.gwt.user.server.rpc.RemoteServiceServlet.doPost(RemoteServiceServlet.java:186)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:362)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)
at
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:595)

So what am I missing? After trying for a several days to get GWT RPC
working in tomcat I'm at my wits end.

This is my client side class:

public class test implements EntryPoint {
public void onModuleLoad()
{
final ListBox simList = new ListBox();
String url = "/gwt_web/sim";
final DataAsync dataSource =
(DataAsync) GWT.create( Data.class );
ServiceDefTarget endpoint = (ServiceDefTarget)
dataSource;
endpoint.setServiceEntryPoint(url);
dataSource.list(new AsyncCallback(){
public void onSuccess(Object qResult) {
Vector data = (Vector)qResult;
if (data != null && data.size() > 0)
{
for (int i = 0; i <
data.size(); i++)
{
if (data.get(i) !=
null)

simList.addItem(data.get(i).toString());
}
}
}

public void onFailure(Throwable caught) {
Window.alert("Unable to get data from
server: "
+caught.toString());
}
});
RootPanel.get().add(simList);
}
}

The interface classes
public interface Data extends RemoteService
{
public java.util.Vector list();
}
public interface DataAsync
{
public void list(AsyncCallback callback);
}

This is my servlet:
public class SimDAO extends RemoteServiceServlet implements Data
{
/**
* Creates a new instance of LeagueDAO
*/
public SimDAO()
{
}

public Vector list()
{
Vector rval = new Vector();
rval.add("Test string 1");
rval.add("Test string 2");
return rval;
}
}

web.xml
<web-app>
<servlet>
<servlet-name>SimDAO</servlet-name>
<servlet-class>com.test.server.SimDAO</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>SimDAO</servlet-name>
<url-pattern>/sim</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
</web-app>

test.gwt.xml
<module>

<!-- Inherit the core Web Toolkit stuff. -->
<inherits name='com.google.gwt.user.User'/>

<!-- Specify the app entry point class. -->
<entry-point class='com.test.client.test'/>
<servlet path='/gwt_web/sim' class='com.test.server.SimDAO'/>

</module>

hovan

da leggere,
16 ago 2006, 01:16:2416/08/06
a Google Web Toolkit
Restart tomcat could resolve this problem.
Hovan.

Scott Blum

da leggere,
16 ago 2006, 12:39:2816/08/06
a Google Web Toolkit

Spudgy

da leggere,
16 ago 2006, 22:58:5016/08/06
a Google Web Toolkit
That's fixed it thanks Scott. I thought I had cleaned out the old
version but I guess not.

find / -name 'gwt-user.jar' -exec rm {} \; soon fixed that :)

Regards,
Spudgy

Rispondi a tutti
Rispondi all'autore
Inoltra
0 nuovi messaggi