Ksoap库和请求超时?

问题描述:

我正在使用kso​​ap库来调用android中的webservice。 我在这里没有看到请求超时属性的情况下,因特网在呼叫中不可用,所以它很重要。Ksoap库和请求超时?

有人建议我使用Sotimeout套接字类,但我不知道如何实现它在这里任何一个建议我该怎么办?

public void callWebservice() 
{ 
try { 

SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME); 

request.addProperty("passonString", "anything"); 

SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); 
envelope.dotNet=true; 
envelope.setOutputSoapObject(request); 

HttpTransportSE androidHttpTransport = new HttpTransportSE(URL); 
androidHttpTransport.call(SOAP_ACTION, envelope); 

.. 
... 
}catch(Exception ex) 
{} 

} 

您将不得不修改HttpTransportSE类以获取传递给套接字的超时参数。实现起来相当简单,但是看看已经做到这一点的HttpsTransportSE类。

然后,您可以捕获SocketTimeoutException并执行任何必要的操作。随意在项目上创建问题并提供增强功能。