在Android中使用Ksoap2时处理超时

问题描述:

我从我的活动中调用另一个类的方法,该方法使用kso​​ap2调用webservice。我想处理这个超时。如果方法执行时间超过10秒,那么我需要显示一个警告对话框,指出进程不成功。在Android中使用Ksoap2时处理超时

我尝试使用的超时值如下:

HttpsTransportSE transport = new HttpsTransportSE(URL,TIMEOUT); 

但ksoap2是忽略了某些原因超时。我正在使用kso​​ap2 2.6.5。

有没有什么方法可以在我可以执行方法10秒,然后显示相应的对话框,指示在android中的成功或失败?

+0

什么是TIMEOUT值?是10000吗? – OguzOzkeroglu 2012-07-06 07:46:00

+0

是的。它是10000. – 2012-07-06 13:03:19

在某些情况下,HttpTransportSE似乎仍然存在一个未解决的问题。 看到这个相关的link

但是,解决方案涉及修改现有的ksoap2 API

由于在Lightsoftai您现在可以使用下面的代码添加超时HttpTransportSE开发商:

注意您可以使用kso​​ap2 API版本2.5.2或更高此

 /** 
     * Creates instance of HttpTransportSE with set url 
     * 
     * @param url 
     *    the destination to POST SOAP data 
     */ 
     public HttpTransportSE(String url) { 
     super(url); 
     } 

     /** 
     * Creates instance of HttpTransportSE with set url 
     * 
     * @param url 
     *   the destination to POST SOAP data 
     * @param timeout 
     *    timeout for connection and Read Timeouts (milliseconds) 
     */ 
     public HttpTransportSE(String url, int timeout) { 
     super(url, timeout); 
      } 

您可以从here下载相同的jar文件。

另请参阅ksoap never timeout

希望它有帮助。

+0

可以帮助你说,什么是分钟和最大超时ParthDoshi。 – harikrishnan 2016-11-24 10:08:30

+0

@Parth Doshi下载链接已损坏现在.. !! – 2017-03-20 05:05:33