مشکل در ksoap۲ در برگرداندن مقادیر بیشتر از ۲۵۶ کاراکتر از وب سرویس
سلام
من از ksoap۲ جهت کار با وب سرویس استفاده می کنم در مواردی که حجم مقادیر برگشتی کمتر از حدود ۲۵۶ کاراکتر است درست کار میکند ولی در غیر اینصورت در فرمان call خطای exception ایجاد شده و هیچ بر نمی گرداند.
به عنوان مثال سرویس من لیست استانها را از سرور بر می گرداند ولی چون حجم استانها از ۲۵۶ بیشتر می شود خطا داده و null بر می گرداند.
# SoapObject request = new SoapObject(NAMESPACE, "list_ostan");
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.dotNet = false;
envelope.setOutputSoapObject(request);
HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);
try {
level += 1;
androidHttpTransport.setXmlVersionTag("");
level += 1;
androidHttpTransport.call("urn:Services#list_ostan ", envelope);
level += 1;
if (envelope.getResponse() != null && !envelope.getResponse().equals("")) {
result1 = envelope.getResponse().toString();
} else {
result1 = null;
}
} catch (Exception e) {
e.printStackTrace();
}
return result1;
#
:گریه::گریه::گریه:
نقل قول: مشکل در ksoap۲ در برگرداندن مقادیر بیشتر از ۲۵۶ کاراکتر از وب سرویس
ولی ظاهرا باید در این خط مشکل داشته باشید
result1 = envelope.getResponse().toString();
چرا خروجی getResponse را به JSON ویا XML ویا GSON ارسال نمیکنید همانطور که میدونید رشته ها محدودیت طول دارند بنابراین یک رشته خیلی بزرگ را نمی توانید به این صورت استفاده کنید بهتره از یک parser مناسب استفاده کنید.
البته بهتر بود که exception برنامه را اینجا قرار میداید