2011-02-23 61 views
3

我的應用程序需要連接到Web服務才能獲取xml數據。我有一個主要和輔助Web服務。如何自動選擇Web服務?

如果主服務器無法響應,故障切換到輔助Web服務的最佳方式是什麼?另外我將如何設置等待主要的超時?

感謝

回答

1

最好的解決辦法是建立在Web服務的VIP,並且具有自動故障轉移。這樣,您的應用程序只關心一個端點,不需要擔心細節。

如果您真的想從Java代碼中處理它,它取決於您用來連接到Web服務的庫。如果您使用的是核心Java,它可能看起來像這樣:

try { 

    URL primaryURL = new URL(web_service_endpoint); 
    HttpURLConnection con = (HttpURLConnection) primaryURL.openConnection(); 
    con.setConnectTimeout(5000); //set timeout to 5 seconds 

    //Try retrieving some XML 

} catch (java.net.SocketTimeoutException e) { 
    //Try connecting to secondary web service 
    //Maybe a recursive method call with a different URL or something 
}