私はアンドロイドで SOAP 解析を使用しています。私のアプリケーションでは、バイト配列タイプのデータもある大量のデータをダウンロードする必要があるポイントが 1 つあります。
解決策については、リンクVery large SOAP response - Android- out of memory error but not able to get how can it works with my soap object. を参照しました。
石鹸応答を取得するために使用している方法は次のとおりです。
public SoapObject taskDetail() {
SoapObject result = null;
SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
request.addProperty("ID", "4");
request.addProperty("fromDate", "02/06/2013");
request.addProperty("toDate", "02/06/2013");
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.dotNet = true;
envelope.setOutputSoapObject(request);
AndroidHttpTransport transport = new AndroidHttpTransport(URL);
transport.debug = true;
try {
transport.call(SOAP_ACTION, envelope);
result = (SoapObject)envelope.getResponse();
for(int i=0; i<result.getPropertyCount(); i++) {
SoapObject view_task_master = (SoapObject) result.getProperty(i);
screen = view_task_master.getProperty("Screen").toString();
Log.i("screen",screen);
date = view_task_master.getProperty("Createddate").toString();
Log.i("date",date);
}
}
catch (IOException e) {
Log.i("IOException",e.getMessage());
}
catch (XmlPullParserException e) {
Log.i("XMLPullParserException",e.getMessage());
}
return result;
}
主な問題は、データが大きいために結果オブジェクトが処理できないことです。
助けてください...よろしくお願いします...!!