1

I am new to this Ksoap webservice call. I know how to retrieve data's from webservice call but how to send the ArrayList of Object.

My webservice is as follows:

<message name="InsertBrandOrder">
<part name="Token" type="xsd:string"/>
<part name="UserID" type="xsd:int"/>
<part name="StoreID" type="xsd:int"/>
<part name="BrandOrders" type="ns1:anyTypeArray"/>
</message>

<message name="InsertBrandOrderResponse">
<part name="ResponseInsertBrandOrder" type="tns:result"/>
</message>

Here the BrandOrders is the array with anyType.

I have a class Product.java

public class Product {
      String name;
      String position;
      int brandId;
      boolean is_order;
      boolean is_merchandising;
      boolean is_audit;
Product(String product_name,String brand_position,int brandid,boolean isorder,boolean ismerchandising, boolean isaudit) 
      {
        name = product_name;
        position=brand_position;
        brandId=brandid;
        is_order = isorder;
        is_merchandising = ismerchandising;
        is_audit = isaudit;
      }
    }

My Api call class called ViewYourPlanToday.java certainly part of the code looks like this:

SoapObject request = new SoapObject(RouteTrackerApp.NAMESPACE,
                METHOD_NAME);
        request.addProperty("Token", rep1);
        request.addProperty("UserID",uid);
        request.addProperty("StoreID", sid);
        request.addProperty("BrandOrders",resultarray);
        SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
                SoapEnvelope.VER11);
        envelope.setOutputSoapObject(request);
        HttpTransportSE androidHttpTransport = new HttpTransportSE(
                RouteTrackerApp.URL);
        try 
        {
            androidHttpTransport.call(RouteTrackerApp.SOAP_ACTION, envelope);
            SoapObject responseInner = (SoapObject) envelope.bodyIn;
            System.out.println("class:"+envelope.bodyIn.getClass());    

...... }

But i am getting an error as:

01-07 12:28:17.680: W/System.err(7867): java.lang.RuntimeException: Cannot serialize: [com.m9.android.routetracker.ViewYourPlanToday$Product@40ce35d0]
01-07 12:28:17.710: W/System.err(7867):     at org.ksoap2.serialization.SoapSerializationEnvelope.writeElement(SoapSerializationEnvelope.java:664)
01-07 12:28:17.710: W/System.err(7867):     at org.ksoap2.serialization.SoapSerializationEnvelope.writeProperty(SoapSerializationEnvelope.java:649)
01-07 12:28:17.730: W/System.err(7867):     at org.ksoap2.serialization.SoapSerializationEnvelope.writeObjectBody(SoapSerializationEnvelope.java:595)
01-07 12:28:17.730: W/System.err(7867):     at org.ksoap2.serialization.SoapSerializationEnvelope.writeObjectBody(SoapSerializationEnvelope.java:573)
01-07 12:28:17.730: W/System.err(7867):     at org.ksoap2.serialization.SoapSerializationEnvelope.writeElement(SoapSerializationEnvelope.java:658)
01-07 12:28:17.740: W/System.err(7867):     at org.ksoap2.serialization.SoapSerializationEnvelope.writeBody(SoapSerializationEnvelope.java:555)
01-07 12:28:17.740: W/System.err(7867):     at org.ksoap2.SoapEnvelope.write(SoapEnvelope.java:205)
01-07 12:28:17.770: W/System.err(7867):     at org.ksoap2.transport.Transport.createRequestData(Transport.java:134)
01-07 12:28:17.770: W/System.err(7867):     at org.ksoap2.transport.HttpTransportSE.call(HttpTransportSE.java:144)
01-07 12:28:17.780: W/System.err(7867):     at org.ksoap2.transport.HttpTransportSE.call(HttpTransportSE.java:116)
01-07 12:28:17.780: W/System.err(7867):     at org.ksoap2.transport.HttpTransportSE.call(HttpTransportSE.java:111)

Can anyone help me out to rectify this error.

arun
  • 227
  • 1
  • 5
  • 16
  • resultarray in my programs consists values from the Product.java – arun Jan 07 '14 at 13:04
  • if resultarray is a "Product" object, you need to make ur class product implement KVMserializable. Check my answer here to see how: http://stackoverflow.com/questions/9355707/how-to-create-soap-request-via-ksoap2/9369810#9369810 – ccot Jan 20 '14 at 04:27

1 Answers1

0

implement java.io.Serializable for class product

public class Product implements java.io.Serializable
Cris
  • 12,799
  • 5
  • 35
  • 50