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 服务是否已从客户端启动并运行?
如果您的网络服务关闭,则 Android 会在无法连接到它时抛出SocketTimeoutException
。
您可以通过以下方式手动设置连接的超时持续时间
HttpTransportSE androidHttpTransport = new HttpTransportSE(URL, timeoutDuration);
或者让连接在其默认超时持续时间后超时。
因此,您可以在代码中捕获该异常,并了解 Web 服务已关闭。