通过android中的ksoap2发送和接收复杂数据[序列化错误]
嗯,我有一个服务器,它有一个方法通过android中的ksoap2发送和接收复杂数据[序列化错误],android,xmlserializer,ksoap2,serializable,ksoap,Android,Xmlserializer,Ksoap2,Serializable,Ksoap,嗯,我有一个服务器,它有一个方法 接收MonitorRequest(可序列化对象) 返回MonitorResponse[](可序列化对象) 每个MonitorResponse都包含一个MonitorDetail,其中包含我需要的信息 代码: 所以,我的问题是: 我无法在服务器中更改这些对象的定义,因此如何更改 在不获取“无法序列化错误”的情况下进行此通信 如何发送ProductRequest、接收ProductResponse[]和 通过KSOAP2获取特定的产品详细信息 我试过: Soap
- 接收MonitorRequest(可序列化对象)
- 返回MonitorResponse[](可序列化对象)
- 每个MonitorResponse都包含一个MonitorDetail,其中包含我需要的信息
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;
那么,我如何进行这种通信呢?您可以在信封上而不是bodyIn上获取响应,然后解析循环中得到的SoapObject 更多信息请访问
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;