好吧,我有一个有方法的服务器
- 接收 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
}
所以,这是我的问题:我不能在服务器中更改这些对象的定义,所以我怎样才能在不出现“无法序列化错误”的情况下进行这种通信。
如何通过 KSOAP2 发送 ProductRequest、接收 ProductResponse[] 并获取特定的 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;
那么,我该如何进行这种交流呢?