问题
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.
回答1:
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
回答2:
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.
回答3:
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);
来源:https://stackoverflow.com/questions/4408955/ksoap-request-timeout