2012-08-23 85 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''开始 –

相关问题