在同一无线网络上使用多个设备时,Android ksoap连接超时:(

时间:2013-07-04 21:04:17

标签: android ksoap2 android-ksoap2

简而言之,我的申请工作时间超过一年。我有100000+下载,直到最近才开始出现我的肥皂网服务问题。如果两个或多个设备连接到同一无线连接,则只有一个设备正常工作。在所有其他设备上,连接超时。 以下是WS调用方法的示例:

public static Object callWSMethod(String methodName, String soapAction,
        PropertyInfo[] properties) throws IOException,
        XmlPullParserException{

    SoapObject request = new SoapObject(NAMESPACE, methodName);
    if (properties != null)
        for (PropertyInfo property : properties) {
            request.addProperty(property);
        }

    SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
            SoapEnvelope.VER11);
    envelope.setOutputSoapObject(request);
    envelope.implicitTypes = true;

    HttpTransportSE httpTransport = new HttpTransportSE(SOAP_ADDRESS, 15000);       
    httpTransport.debug = true;             
    httpTransport.call(soapAction, envelope);

    return envelope.getResponse();
}

任何建议或想法都会有所帮助。

2 个答案:

答案 0 :(得分:0)

结果证明ksoap2运行良好,我的代码效果很好。 在跟踪ksoap调用方法并嗅探html流量后,我发现有时,服务器没有响应我的请求。发生这种情况是因为服务器配置已更改,现在,当来自同一IP地址的大量请求时,服务器将其中一些视为重新传输并忽略它们。这个问题必须在服务器端解决。

答案 1 :(得分:0)

我在调用webservice

时设置了超时(以毫秒为单位)
HttpTransportSE androidHttpTransport = new HttpTransportSE(URL,6000);

(注意 - 请确保您使用的是最新的ksoap2库。如果您想下载最新版本的ksoap2,请按以下链接下载)

https://oss.sonatype.org/content/repositories/ksoap2-android-releases//com/google/code/ksoap2-android/ksoap2-android-assembly/3.0.0-RC.4/

然后点击ksoap2-android-assembly-3.0.0-RC.4.jar