J'essaie d'obtenir des données d'un WebService en utilisant KSoap2. Le WebService répond à un fichier XML très volumineux, donc pendant que je fais le HttpTransportSE.call(), j'obtiens une exception ouOfMemory.KSoap2 outOfMemoryError lors d'un appel Android
Est-il possible d'obtenir une réponse coupée à partir d'un service Web de savon? Ou existe-t-il un moyen de l'écrire directement dans un fichier sur l'appareil? Ceci est mon classe pour obtenir les données:
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;
}
J'ai aussi coppied le HttpTransportSE.java et manipulé pour écrire directement dans un fichier. Mais là, je reçois une erreur Token non valide.
Je l'ai déjà lu. Je sais que je dois le diffuser sur disque mais je ne sais pas comment. – Karas
Lisez le lien de l'édition, il vous aidera –
Je l'ai déjà lu. Je l'ai essayé de cette façon mais ensuite j'ai une exception de jeton inattendue. – Karas