0

Web サービスのリクエストを生成しました。通話を確認する必要があります。5 秒以内に応答が返されない場合は、別の要求が送信されます。

擬似コード:

webServiceClass 応答 = xyz.getData(); 5 秒以内に応答が得られない場合は、別の要求 CheckData() を Web サービスに送信します。これは最大 5 回まで行う必要があります。

スレッドを使用せずにこれを行う必要があります。

4

1 に答える 1

0

このようなことを試してください(テストされていませんが、アイデアが得られるはずです):

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();
    }       
于 2014-10-20T17:57:10.180 に答える