2012-08-23 135 views
2
private String METHOD_NAME = "schedule"; 
    private String NAMESPACE = "http://calculate.backend.web.org"; 
    private String SOAP_ACTION = NAMESPACE + METHOD_NAME; 
    private static final String URL = "http://192.168.0.4:8080/AndroidBackEnd/services/Calculate?wsdl"; 

SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME); 
      request.addProperty("username",username); 

      SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); 
      envelope.dotNet = true; 
      envelope.setOutputSoapObject(request); 
      HttpTransportSE androidHttpTransport = new HttpTransportSE(URL); 
      androidHttpTransport.call(SOAP_ACTION,envelope); 
      Object result = envelope.getResponse(); 

如何驗證WEB-SERVICE是否已啓動並從客戶端運行?檢查KSOAP2網絡服務是否已啓動並運行

回答

1

如果您的網絡服務發生故障,則Android無法連接時會拋出SocketTimeoutException

您可以通過手動

HttpTransportSE androidHttpTransport = new HttpTransportSE(URL, timeoutDuration);

設置你的連接超時時間,或讓其默認的超時時間後,連接得到超時。

因此,您可以在代碼中捕獲該異常,並瞭解Web服務已關閉。

+0

'HttpTransportSE androidHttpTransport =新HttpTransportSE(URL,timeoutDuration);'這種說法是不支持 –

+0

它說刪除timeoutduration匹配HttpTransportSE ...默認的超時時間太棠 –

+1

快速更新..'timeout'設施我們支持只有從'Ksoap2庫2.5.2''開始 –

相關問題