【发布时间】: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