Unmarshal error using Remoting
emsa Oct 5, 2006 2:27 PMUsing 1.0.1 I have trouble sending beans as arguments in remoting calls.
Using simple types like this:
Seam.Component.getInstance("searchEngine").doIt(null, daCallback); Seam.Component.getInstance("searchEngine").doIt("XXX", daCallback);
is working, but when using a Bean as argument:
var criteria = Seam.Component.newInstance("searchCriteriaFilename"); criteria.setFilename("YY"); Seam.Component.getInstance("searchEngine").doIt(criteria, daCallback);
unmashalling fails with the exception below. This must be a bug (?)
20:21:54,944 ERROR [ExecutionHandler] Error unmarshalling calls from request java.lang.RuntimeException: Field not found in bean: filename at org.jboss.seam.remoting.wrapper.BeanWrapper.unmarshal(BeanWrapper.java:80) at org.jboss.seam.remoting.ExecutionHandler.unmarshalCalls(ExecutionHandler.java:172) at org.jboss.seam.remoting.ExecutionHandler.handle(ExecutionHandler.java:88) at org.jboss.seam.remoting.SeamRemotingServlet.doPost(SeamRemotingServlet.java:56) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at javax.servlet.http.HttpServlet.service(HttpServlet.java:810) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) 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.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175) at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74) 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:869) at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664) at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527) at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112) at java.lang.Thread.run(Thread.java:595) Caused by: java.lang.NoSuchFieldException: filename at java.lang.Class.getField(Class.java:1507) at org.jboss.seam.remoting.wrapper.BeanWrapper.unmarshal(BeanWrapper.java:77) ... 23 more 20:21:54,945 ERROR [ExecutionHandler] Error during remote request java.lang.RuntimeException: Field not found in bean: filename at org.jboss.seam.remoting.wrapper.BeanWrapper.unmarshal(BeanWrapper.java:80) at org.jboss.seam.remoting.ExecutionHandler.unmarshalCalls(ExecutionHandler.java:172) at org.jboss.seam.remoting.ExecutionHandler.handle(ExecutionHandler.java:88) at org.jboss.seam.remoting.SeamRemotingServlet.doPost(SeamRemotingServlet.java:56) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at javax.servlet.http.HttpServlet.service(HttpServlet.java:810) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) 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.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175) at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74) 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:869) at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664) at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527) at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112) at java.lang.Thread.run(Thread.java:595) Caused by: java.lang.NoSuchFieldException: filename at java.lang.Class.getField(Class.java:1507) at org.jboss.seam.remoting.wrapper.BeanWrapper.unmarshal(BeanWrapper.java:77) ... 23 more