Ksoap图书馆和请求超时?

时间:2010-11-16 10:26:58

标签: android webservice-client

我正在使用kso​​ap库来调用android中的webservice。 如果INTERNET在通话中间不可用,我在这里看不到请求超时属性,所以拥有它很重要。

有人建议我使用具有Sotimeout的socket类但我不知道如何在这里实现它任何人都建议我该怎么办?

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)
{}

}

1 个答案:

答案 0 :(得分:0)

您必须修改HttpTransportSE类以获取传递给套接字的超时参数。实现它会非常简单,但是看看已经执行此操作的HttpsTransportSE类。

然后你可以捕获SocketTimeoutException并做任何必要的事情。随意在项目上创建一个问题,或者提供增强功能。