2012-07-08 8 views
1

OrderItem 클래스 배열을 사용하여 내 OrderItemList 클래스를 보내야합니다.이 클래스를 시도하지만 오류가 발생합니다. can not serialize : [email protected]KSOAP 2 복합 클래스

미리 감사드립니다.

SoapObject request = new SoapObject(NAMESPACE, WebService); 
     OrderItemList orderItemList = null; 

      PropertyInfo pinfo = new PropertyInfo(); 
      pinfo.name = "orderItems"; 
      pinfo.namespace = NAMESPACE ; 
      pinfo.type = OrderItemList.class; 

      ArrayList<OrderItem> orderItemListT = new ArrayList<OrderItem>(); 
      orderItemListT.add(new OrderItem(9,9,"",9,9,9,9)); 
      orderItemList = new OrderItemList(orderItemListT); 

      request.addProperty(pinfo,orderItemList); 

    SoapSerializationEnvelope envelope = 
     new SoapSerializationEnvelope(SoapEnvelope.VER11); 
    envelope.addMapping(NAMESPACE, "orderItems", orderItemList.getClass()); 
    envelope.addMapping(NAMESPACE, "OrderItem", OrderItem.class); 
    envelope.dotNet = true; 
    envelope.setOutputSoapObject(request); 
    AndroidHttpTransport androidHttpTransport = new AndroidHttpTransport(URL); 

    androidHttpTransport.call("http://tempuri.org/" + WebService , envelope); 

OrderItem에>

public class OrderItem { 
    public int ID; 
    public int OrderId; 
    public String FinalCode; 
    public int Quantity; 
    public double Price; 
    public double Discount; 
    public int Status; 

    public OrderItem(int id, int orderId, String finalCode ,int quantity, double price, double discount, int status) { 
    ID = id; 
    OrderId = orderId; 
    FinalCode = finalCode; 
    Quantity = quantity; 
    Price = price; 
    Discount = discount; 
     Status = status; 
    } 
} 

OrderItemList>

public class OrderItemList { 
    public ArrayList<OrderItem> OrderItemList; 

    public OrderItemList(ArrayList<OrderItem> orderItemList) { 
     OrderItemList = orderItemList; 
    } 
} 

답변

2

클래스의 직렬화 구현

import java.io.Serializable; 

public class OrderItem implements Serializable { 
    public int ID; 
    public int OrderId; 
    public String FinalCode; 
    public int Quantity; 
    public double Price; 
    public double Discount; 
    public int Status; 

    public OrderItem(int id, int orderId, String finalCode ,int quantity, double price, double discount, int status) { 
     ID = id; 
     OrderId = orderId; 
     FinalCode = finalCode; 
     Quantity = quantity; 
     Price = price; 
     Discount = discount; 
     Status = status; 
    } 
}