我嘗試使用KSoap2從WebService獲取一些數據。KSoap2 outOfMemoryError在撥打電話時Android
WebService響應一個非常大的XML文件,所以當我做HttpTransportSE.call()時,我得到了一個ouOfMemory異常。
是否有可能從Soap Webservice獲取剪切的響應? 或者有沒有辦法直接寫入設備上的文件? 這是我的類來獲取數據:
public static SoapObject GetItemData()
{
SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME_ITEM_DATA);
request.addProperty("Company", company);
request.addProperty("SerialNumber", serialId);
itemEnvelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
itemEnvelope.dotNet = true;
itemEnvelope.setOutputSoapObject(request);
AndroidHttpTransportSE androidHttpTransport = new AndroidHttpTransportSE(URL);
androidHttpTransport.debug = true;
Log.d("==ITEM_URL==", URL);
try
{
androidHttpTransport.call(SOAP_ACTION_ITEM_DATA, itemEnvelope);
Log.d("==ItemVerbindung==", "Verbindung aufgebaut");
}
catch (Exception e)
{
e.printStackTrace();
Log.d("==ItemVerbindung==", "HTTPCALL nicht ausgeführt");
}
try
{
itemResult = (SoapObject)itemEnvelope.getResponse();
Log.d("==ItemResponse==", "PropertyCount: "+itemResult.getPropertyCount());
}
catch(ClassCastException e)
{
itemResult = (SoapObject)itemEnvelope.bodyIn;
}
catch (SoapFault e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
if(itemResult != null)
{
return itemResult;
}
return null;
}
我也coppied的HttpTransportSE.java和操縱它直接在文件中寫入。但是我得到一個無效的令牌錯誤。
我已經閱讀過。我知道我必須在磁盤上傳輸它,但我不知道如何。 – Karas
從編輯中閱讀鏈接將幫助您 –
我已經閱讀過它。我試過這種方式,但後來我得到了一個無意識的令牌異常。 – Karas