【问题标题】:Send and Receive complex datas via ksoap2 in android [Error in Serialize]在android中通过ksoap2发送和接收复杂数据[序列化错误]
【发布时间】:2011-09-12 03:10:14
【问题描述】:

嗯,我有一个有方法的服务器

  • 收到 MonitorRequest(可序列化对象)
  • 返回一个 MonitorResponse[](可序列化对象)
  • 每个 MonitorResponse 都包含一个 MonitorDetail,其中包含我需要的信息。

代码:

class MonitorDetail implements Serializable{
    String name;
    //Long, Short, String (...)
}

class MonitorResponse implements Serializable{
    Short returnCode;
    MonitorDetail monitorCodeList; //the request can request more than 1 monitor info.
    String user;
}

class MonitorRequest implements Serializable {
    Integer storeCode;
    Short categoryCode;
    Long[] monitorCodeList; //here I post the code of the monitors I need
    String user;
    //getters and setters
}

所以,这是我的问题: 我无法更改服务器中这些对象的定义,那我怎么能 进行此通信而不会出现“无法序列化错误”。

如何发送 ProductRequest、接收 ProductResponse[] 和 通过 KSOAP2 获取特定 ProductDetail?

我试过了:

SoapObject request = new SoapObject(NAMESPACE, OPERATION);
request.addProperty(PROPERTY, getProductConfiguredMonitorRequest());

SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);

HttpTransportSE httpTransport = new HttpTransportSE(URL);
enter code here
try {
    httpTransport.call("", envelope);
    SoapObject result = (SoapObject) envelope.bodyIn;
    return extractMonitorDetailFromResult(result);
} catch (Exception e) {
    /* a lot of stuff */
    return null;
}
return null;

那么,我该如何进行这种交流?

【问题讨论】:

    标签: android xmlserializer ksoap2 serializable ksoap


    【解决方案1】:

    您在信封而不是 bodyIn 上获取响应,然后解析您在循环中获得的 SoapObject。

    查看更多内容

    http://code.google.com/p/ksoap2-android/wiki/CodingTipsAndTricks

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-07
      • 2023-03-27
      相关资源
      最近更新 更多