Pregunta

Estoy usando KSOAP2 para crear una aplicación de registro de usuario en Android.

Cuando envío una solicitud al servidor y no hay respuesta en 10 segundos, quiero pedirle al usuario un mensaje de "intente nuevamente". Si el servidor responde dentro de los 10 segundos, quiero que el programa continúe sin el mensaje.

¿Cómo puedo conseguir esto? ¿Existe un TimeTask o algún método para el tiempo de espera en KSOAP2?

¿Fue útil?

Solución

private String METHOD_NAME;
    private String NAMESPACE;
    private String SOAP_ACTION;
    private String URL;
private int TimeOut=3000;//
    private SoapObject so;
    SoapSerializationEnvelope envelope;
    HttpTransportSE androidHttpTransport;
 try
               {      

                      METHOD_NAME = "myutility";
                      NAMESPACE = "http://";
                      SOAP_ACTION = NAMESPACE + METHOD_NAME;
                      Thread.sleep(2000);  
                      SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
                      envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
                      envelope.setOutputSoapObject(request);

                      URL = "http://www.example.com";
                      androidHttpTransport = new HttpTransportSE(URL,Time_Out);
                      androidHttpTransport.call(SOAP_ACTION,envelope);
                      so = (SoapObject)envelope.bodyIn;
                      String s=so.toString();
                      //Your processing here
               }
               catch(InterruptedException e)
               {
                   //When timeout occurs handles this....

               }
catch( Exception e )
               {}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top