Seam 2.1.1.GA RESTEasy problem
nhhagen Jan 22, 2009 1:29 PMI'm using the integrated REASTEasy implementation that came with seam, and I get the following error when I access the resource with a browser:
13:21:40,048 ERROR [STDERR] java.lang.RuntimeException: Bad arguments passed to public java.lang.String com.tracetracker.cci.session.GqiResourceBean.getShelfLife(java.lang.String,java.lang.String) ( arg1, arg2 13:21:40,049 ERROR [STDERR] at org.resteasy.MethodInjectorImpl.invoke(MethodInjectorImpl.java:133) 13:21:40,049 ERROR [STDERR] at org.resteasy.ResourceMethod.invoke(ResourceMethod.java:162) 13:21:40,049 ERROR [STDERR] at org.resteasy.ResourceMethod.invoke(ResourceMethod.java:134) 13:21:40,049 ERROR [STDERR] at org.resteasy.Dispatcher.invoke(Dispatcher.java:161) 13:21:40,049 ERROR [STDERR] at org.jboss.seam.resteasy.ResteasyResourceAdapter$1.process(ResteasyResourceAdapter.java:127) 13:21:40,049 ERROR [STDERR] at org.jboss.seam.servlet.ContextualHttpServletRequest.run(ContextualHttpServletRequest.java:53) 13:21:40,049 ERROR [STDERR] at org.jboss.seam.resteasy.ResteasyResourceAdapter.getResource(ResteasyResourceAdapter.java:71) 13:21:40,049 ERROR [STDERR] at org.jboss.seam.servlet.SeamResourceServlet.service(SeamResourceServlet.java:80) 13:21:40,049 ERROR [STDERR] at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 13:21:40,049 ERROR [STDERR] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) 13:21:40,049 ERROR [STDERR] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 13:21:40,050 ERROR [STDERR] at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83) 13:21:40,050 ERROR [STDERR] at org.jboss.seam.web.IdentityFilter.doFilter(IdentityFilter.java:40) 13:21:40,050 ERROR [STDERR] at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) 13:21:40,050 ERROR [STDERR] at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:90) 13:21:40,050 ERROR [STDERR] at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) 13:21:40,050 ERROR [STDERR] at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64) 13:21:40,050 ERROR [STDERR] at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) 13:21:40,050 ERROR [STDERR] at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45) 13:21:40,050 ERROR [STDERR] at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) 13:21:40,050 ERROR [STDERR] at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:177) 13:21:40,050 ERROR [STDERR] at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:267) 13:21:40,050 ERROR [STDERR] at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:380) 13:21:40,050 ERROR [STDERR] at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:507) 13:21:40,050 ERROR [STDERR] at org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:56) 13:21:40,050 ERROR [STDERR] at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) 13:21:40,050 ERROR [STDERR] at org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:58) 13:21:40,050 ERROR [STDERR] at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) 13:21:40,050 ERROR [STDERR] at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:73) 13:21:40,050 ERROR [STDERR] at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158) 13:21:40,050 ERROR [STDERR] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 13:21:40,051 ERROR [STDERR] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 13:21:40,051 ERROR [STDERR] at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) 13:21:40,051 ERROR [STDERR] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 13:21:40,051 ERROR [STDERR] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 13:21:40,051 ERROR [STDERR] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:235) 13:21:40,051 ERROR [STDERR] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) 13:21:40,051 ERROR [STDERR] at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:190) 13:21:40,051 ERROR [STDERR] at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433) 13:21:40,051 ERROR [STDERR] at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92) 13:21:40,051 ERROR [STDERR] at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126) 13:21:40,051 ERROR [STDERR] at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70) 13:21:40,051 ERROR [STDERR] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) 13:21:40,051 ERROR [STDERR] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 13:21:40,051 ERROR [STDERR] at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158) 13:21:40,051 ERROR [STDERR] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 13:21:40,051 ERROR [STDERR] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330) 13:21:40,051 ERROR [STDERR] at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:828) 13:21:40,051 ERROR [STDERR] at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:601) 13:21:40,051 ERROR [STDERR] at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) 13:21:40,051 ERROR [STDERR] at java.lang.Thread.run(Thread.java:619) 13:21:40,052 ERROR [STDERR] Caused by: java.lang.IllegalArgumentException: object is not an instance of declaring class 13:21:40,052 ERROR [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 13:21:40,052 ERROR [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 13:21:40,052 ERROR [STDERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 13:21:40,053 ERROR [STDERR] at java.lang.reflect.Method.invoke(Method.java:597) 13:21:40,053 ERROR [STDERR] at org.resteasy.MethodInjectorImpl.invoke(MethodInjectorImpl.java:72) 13:21:40,053 ERROR [STDERR] ... 50 more
The url used to access the server:
http://localhost:8080/app/seam/resource/rest/restResource/method/arg1/arg2
The Bean:
package org.domain.app.session; import javax.ejb.Stateless; import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.ProduceMime; import org.jboss.seam.annotations.In; import org.jboss.seam.annotations.Logger; import org.jboss.seam.annotations.Name; import org.jboss.seam.international.StatusMessages; import org.jboss.seam.log.Log; @Stateless @Name("restResource") @Path("/restResource") public class RestResourceBean implements RestResource { @Logger private Log log; @In StatusMessages statusMessages; public void RestResource() { // implement your business logic here log.info("gqiResource.gqiResource() action called"); statusMessages.add("gqiResource"); } @GET @Path("/method/{arg1}/{arg2}") @ProduceMime("text/plain") public String getShelfLife( @PathParam("arg1") String a1, @PathParam("arg2") String a2 ) { return "This is a test, arg1: " + a1 + " arg2 " + a2; } }
The interface:
package org.domain.app.session; import javax.ejb.Local; @Local public interface RestResource { // seam-gen method public void restResource(); public String method( String station, String date ); }
I've tried to google the 2 error message but without getting any luck with the results. Any help with this would be greatly appreciated.