Web サービスのリクエストを生成しました。通話を確認する必要があります。5 秒以内に応答が返されない場合は、別の要求が送信されます。
擬似コード:
webServiceClass 応答 = xyz.getData(); 5 秒以内に応答が得られない場合は、別の要求 CheckData() を Web サービスに送信します。これは最大 5 回まで行う必要があります。
スレッドを使用せずにこれを行う必要があります。
Web サービスのリクエストを生成しました。通話を確認する必要があります。5 秒以内に応答が返されない場合は、別の要求が送信されます。
擬似コード:
webServiceClass 応答 = xyz.getData(); 5 秒以内に応答が得られない場合は、別の要求 CheckData() を Web サービスに送信します。これは最大 5 回まで行う必要があります。
スレッドを使用せずにこれを行う必要があります。
このようなことを試してください(テストされていませんが、アイデアが得られるはずです):
final MultiThreadedHttpConnectionManager httpConnections = new MultiThreadedHttpConnectionManager();
final HttpConnectionManagerParams connParams = manager.getParams();
final HttpClient httpClient = new HttpClient(manager);
final int connectionTimeout = 5000;
connParams.setConnectionTimeout(connectionTimeout);
try
{
// your web service call goes here
}
catch(ConnectTimeoutException cte)
{
if (isLoggingError())
{
logError(cte.getMessage());
}
}
catch(IOException ioe)
{
if (isLoggingError())
{
logError(ioe.getMessage());
}
}
finally
{
// make sure we always release the connection
method.releaseConnection();
}