سؤال

friends,

i dont see request timeout in KSoap library

any one guide me what should i do? or from where to download latest version of it?

my code

 SoapObject userRequest=new SoapObject(NAMESPACE, METHOD_NAME); 
                userRequest.addProperty("session_id", session_id ); 
                userRequest.addProperty("page_size", PageSize); 
                userRequest.addProperty("offset",Offset ); 


                SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME); 
                request.addProperty("GetAlertsInput", userRequest); 


                SoapSerializationEnvelope envelope = new 
SoapSerializationEnvelope(SoapEnvelope.VER11); 
                envelope.bodyOut = request; 


                HttpTransportAndroid androidHttpTransport = new 
HttpTransportAndroid(URL); 


 androidHttpTransport.call(SOAP_ACTION_GETALERTS, envelope); 

any help would be appreciated.

هل كانت مفيدة؟

المحلول

Could mention that I made a modification to the KSoap2 v2.5.2 to support timeout for HttpTransportSE class. It will throw a SocketTimeoutException when timeout occurs.

It's both jar and src is found at this url https://www.lightsoftai.com/?p=707

نصائح أخرى

I have more than one methods on the server . I am using the same line

androidHttpTransport.call(SOAP_ACTION_GETALERTS, envelope);

With different methods name, while getting second response its crashing.

STEP : 1 Get the ksoap2-android-assembly-3.3.0-jar-with-dependencies.jar file. And place the jar file in app > libs folder.

STEP : 2 compile files('libs/ksoap2-android-assembly-3.3.0-jar-with-dependencies.jar') place the line in build gradle > dependencies.

STEP :3 static int networkTimeOut = 60 * 1000;

SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
                SoapEnvelope.VER11);
envelope.dotNet = true;
envelope.setOutputSoapObject(inserttransaction_request);
HttpTransportSE androidHttpTransport = new HttpTransportSE(URL, networkTimeOut);
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top