2013-07-04 3 views
1

간단히 말해서 내 응용 프로그램이 1 년 넘게 작동합니다. 100000 회 다운로드가 있으며 최근에는 내 비누 웹 서비스의 문제가 ...동일한 무선 네트워크에서 둘 이상의 장치를 사용하는 경우 Android ksoap 연결 시간이 초과되었습니다. (

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(); 
} 

어떤 제안이나 : 발생 두 개 이상의 장치가 하나의 장치 만 연결 시간이 초과됩니다 다른 모든 장치에 제대로 작동 같은 무선 연결에 연결되어있는 경우 여기에 는 WS 호출 방법의 샘플입니다 아이디어가 도움이 될 것입니다.

답변

0

ksoap2가 잘 작동하고 코드가 잘 작동합니다. ksoap 호출 방법을 추적하고 html 트래픽을 스니핑 한 후 가끔씩 서버가 내 요청에 응답하지 않는다는 것을 알게되었습니다. 이것은 서버 구성이 변경 되었기 때문에 발생하며 동일한 IP 주소에서 많은 요청이있을 때 서버는 일부를 재전송으로 간주하고 무시합니다. 이 문제는 서버 측에서 해결되어야합니다.

0

나는 웹 서비스를

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-안드로이드 조립-3.0.0-RC.4.jar