It seems like one of the fields of TransportAssignmentVO is a list, and what is coming from the JSON objects looks more like a map, can you set a break point on ClassCastException exceptions and tell us what the field is? or post the setter/getters of TransportAssignmentVO.
musahcy On Thu, Dec 3, 2009 at 4:05 PM, Jeet08 <prbha...@gmail.com> wrote: > > I have developed a native client interface which calls struts2 JSON RPC using > post method. I have set content type, content length as suggested in the > spec. The request body looks like as follows : > {"method": "uploadTxpAssignment","id": "txpUploadRequest", > "params":{"addressByDestAddrId":{"addrLine1":"test home","addrLine2":"7th > ave","addressId":2,"aptRoomNo":5,"city":"queens","phone":"435-577-4567","state":"NY","zipCode":10183},"atDestTime":null,"callRcvdTime":"2009-11-26T08:01:00","comments":"comments1","dateCreated":"2009-11-26T00:00:00","dateModified":null,"user":{"dateCreated":null,"dateModified":null,"dob":"1956-09-18T00:00:00","firstName":"passfname","gender":"Male","lastName":"patient1lname","mi":null,"ssn":null,"userId":10000}}} > > The struts.xml configurations are : > <action name="UploadAction" class="com.actions.upload.UploadAction" > method="smd"> > <interceptor-ref name="json"> > true > false > </interceptor-ref> > <result type="json"> > true > false > text/plain > 1024 > false > UTF-8 > </result> > </action> > > The simple action code body : > public class UploadCallreportAction { > private TransportAssignmentVO transport; > /** > * @return the transport > */ > public TransportAssignmentVO getTransport() { > return transport; > } > > /** > * @param transport the transport to set > */ > public void setTransport(TransportAssignmentVO transport) { > this.transport = transport; > } > > public String smd() { > return Action.SUCCESS; > } > > �...@smdmethod > public void uploadTxpAssignment(TransportAssignmentVO txpVO) { > setTransport(txpVO); > System.out.println("The Tansport assignment is for Run #:"+ > transport.getRunNumber()); > } > } > > When I run the client the call reaches the server and returns me an > exception : > :35,013 ERROR [RPCError] java.util.HashMap cannot be cast to java.util.List > java.lang.ClassCastException: java.util.HashMap cannot be cast to > java.util.List > at > org.apache.struts2.json.JSONInterceptor.invoke(JSONInterceptor.java:204) > at > org.apache.struts2.json.JSONInterceptor.intercept(JSONInterceptor.java:131) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237) > at > org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52) > at > org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:488) > at > org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:395) > > I am also using Spring 2.5 and Hibernate JPA in the same app.... Not sure if > there is any conflict.I have followed the simple rules to set up the JSON > RPC.However I am not able to resolve the problem. Please let me know if > anyone has a solution for this. > -- > View this message in context: > http://old.nabble.com/Problem-with-Struts-2-JSON-RPC-using-simple-HTTP-Post-%28not-using-DOJO%29-tp26635563p26635563.html > Sent from the Struts - User mailing list archive at Nabble.com. > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: user-unsubscr...@struts.apache.org > For additional commands, e-mail: user-h...@struts.apache.org > > --------------------------------------------------------------------- To unsubscribe, e-mail: user-unsubscr...@struts.apache.org For additional commands, e-mail: user-h...@struts.apache.org