ورود

View Full Version : مشکل در ksoap۲ در برگرداندن مقادیر بیشتر از ۲۵۶ کاراکتر از وب سرویس



IKHATAMI
یک شنبه 26 اسفند 1397, 00:46 صبح
سلام
من از 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;
#:گریه::گریه::گریه:

farhad_shiri_ex
یک شنبه 26 اسفند 1397, 13:36 عصر
ولی ظاهرا باید در این خط مشکل داشته باشید

result1 = envelope.getResponse().toString();

چرا خروجی getResponse را به JSON ویا XML ویا GSON ارسال نمیکنید همانطور که میدونید رشته ها محدودیت طول دارند بنابراین یک رشته خیلی بزرگ را نمی توانید به این صورت استفاده کنید بهتره از یک parser مناسب استفاده کنید.
البته بهتر بود که exception برنامه را اینجا قرار میداید