struts-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jeet08 <prbha...@gmail.com>
Subject Problem with Struts 2 JSON RPC using simple HTTP Post (not using DOJO)
Date Fri, 04 Dec 2009 00:05:04 GMT

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-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org


Mime
View raw message