我正在開發一個使用SOAP web服務的android應用程序。在這個應用程序中,我需要檢查Web服務的連接性,因爲如果連接可用,我必須以聯機模式顯示數據,如果連接不可用,我必須以離線模式顯示數據,即。我正在使用SQLlite數據庫存儲來自web服務的數據如何檢查SOAP web服務連接
我的應用程序如何測試服務器的可用性,以控制應用程序是以聯機模式還是脫機模式運行?
我正在開發一個使用SOAP web服務的android應用程序。在這個應用程序中,我需要檢查Web服務的連接性,因爲如果連接可用,我必須以聯機模式顯示數據,如果連接不可用,我必須以離線模式顯示數據,即。我正在使用SQLlite數據庫存儲來自web服務的數據如何檢查SOAP web服務連接
我的應用程序如何測試服務器的可用性,以控制應用程序是以聯機模式還是脫機模式運行?
對於這一點,我跟着這個方法
我創建了一個波戈功能(網絡法)在我的web服務(服務器),以檢查 連接
創建方法在客戶端調用Web方法。當我進入到應用程序的第一次,我從電話使用客戶端功能。然後等待response.The客戶端方法調用此方法,客戶端應該 通過的try-catch塊
如果任何異常包圍或超時發生的響應將爲空,並進入例外階段。因此 購買檢查響應。餘設置標誌(布爾或整型變量)上 響應(null或not null)決定離線或在線 模式
實施例與代碼的狀態的基礎
public class CallSOAP {
private String SOAP_ACTION="your action url";
private String OPERATION_NAME="";//The web method OR web service you are going to call
private final String WSDL_TARGET_NAMESPACE=SOAP_ACTION;
private final String SOAP_ADDRESS=Configuration.WEB_SERVICE_URL;//ip-address of serever where you host your service
private Exception exception;
private String ErrorMsg="";
private String TERST_URL="" ;
public Object call(String MethodeName,ArrayList<PropertyInfo> Parameters){
this.OPERATION_NAME=MethodeName;
SoapObject request = new SoapObject(WSDL_TARGET_NAMESPACE, OPERATION_NAME);
if(Parameters != null && Parameters.size()>0){
for(PropertyInfo propertyInfo : Parameters){
request.addProperty(propertyInfo);
}
}
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.dotNet= true;
envelope.setOutputSoapObject(request);
HttpTransportSE httpTransport =null;
if(!this.TERST_URL.equals(""))
httpTransport = new HttpTransportSE(this.TERST_URL);
else
httpTransport = new HttpTransportSE(SOAP_ADDRESS);
Object Response =null;
try{
httpTransport.call(SOAP_ACTION+OPERATION_NAME, envelope);
Response=envelope.getResponse();
}
catch (SocketTimeoutException ex) {
this.ErrorMsg="Unable to connect";
Response=null;
this.exception=ex;
}
catch (IOException ie) {
this.ErrorMsg="Unable to connect";
Response=null;
this.exception=ie;
}
catch (Exception e) {
this.ErrorMsg="Unable to connect";
Response=null;
this.exception=e;
}
return Response;
}
}
在代碼ErrorMsg="Unable to connect";
顯示連接現在不可用。所以我設置響應爲空,你可以通過這個響應活動,並檢查它在那裏
參考this
在設計時,您可以將web瀏覽器指向web服務並檢查響應。它沒有得到迴應,或者沒有得到您的預期,您可以使用更多細節Fiddler
在運行時您可以簡單地嘗試訪問try/catch異常處理程序中的服務器。定義一個公共布爾IsOnline,在適當範圍內可見,並在成功執行後將其設置爲true,並在異常處理程序中將其設置爲false。自從我使用Java以來已有數十年的歷史了,但這與您在幾乎任何OO半程式語言(如C#或C++或Java或VB)中使用的方法相同。
,我認爲它的熱鬧,你覺得有必要刪除水平線,但是你離開所有的語法錯誤,人稱代詞,數量分歧和漏字不變不正確的外殼。 –
您是否在尋找代碼? – edwin