2013-05-11 2 views
1

SOAP 서비스를 호출하기 위해 Android 앱에서 KSOAP2 라이브러리를 사용하고 있습니다. 이 코드는 에뮬레이터 버전 2.2에서 잘 작동합니다. 하지만 난 2.2 (또한 HTC 산불) 내 휴대 전화에서 응용 프로그램을 실행하려고하면 XMLPullParser 예외가 나타납니다 ...이 link을 보았지만 아무도 그에게 대답했다. 또한, 다른 토론을 보았다 here하지만하지 않았다 거기에 제안 된 것을 정확하게 이해하십시오. 누군가이 문제를 해결하는 방법에 대해 나에게 어떤 생각을 줄 수 있습니까? 아니면 내가 사용할 수있는 SOAP 서비스를 사용할 수있는 다른 신뢰할 수있는 방법이 있습니까? 내 코드와 로그를 찾으십시오. 실제 장치에서 실행하는 동안 로그에서SOAP 호출 XMLPullParser 예외 발생 실제 장치에서만 예외

SoapObject request=new SoapObject(NAMESPACE, METHOD_NAME); 
      SoapSerializationEnvelope envelope=new SoapSerializationEnvelope(SoapEnvelope.VER11); 
      envelope.dotNet=true; 
      envelope.setOutputSoapObject(request); 
      envelope.setOutputSoapObject(request); 
      envelope.implicitTypes = false; 


      HttpTransportSE transport=new HttpTransportSE(URL); 

      try{ 
       Log.v("Inside","Inside try"); 
       transport.debug = true; 
       transport.call(SOAP_ACTION, envelope); 

       String xml=transport.responseDump; 
       XmlPullParserFactory factory = XmlPullParserFactory.newInstance(); 
       factory.setNamespaceAware(true); 
       XmlPullParser xpp = factory.newPullParser(); 

       xpp.setInput(new StringReader (xml)); 
       int eventType = xpp.getEventType(); 
       while (eventType != XmlPullParser.END_DOCUMENT) { 
        if(eventType == XmlPullParser.START_DOCUMENT) { 
         System.out.println("Start document"); 
        } else if(eventType == XmlPullParser.START_TAG) { 
         if(xpp.getName().equals("MMDraw")){ 
          System.out.println("Start tag "+xpp.getName()); 
          megaMResult=new HashMap<String, String>(); 
          boolean endParse=false; 
          while(!endParse){ 
              xpp.nextTag(); 
           if(xpp.getEventType()==XmlPullParser.END_TAG && xpp.getName().equals("MMDraw")) 
           { 
            endParse=true; 
            System.out.println("End Tag of MMDraw Reached"); 
           } 
           else{ 
            String key=xpp.getName(); 
            megaMResult.put(xpp.getName(), xpp.nextText()); 

           } 
          } 

메시지

05-11 00:00:19.413: W/System.err(8531): org.xmlpull.v1.XmlPullParserException: unexpected type (position:END_DOCUMENT [email protected]:0 in [email protected]) 

답변

1

귀하의 XML을 제대로 작성? 이 erro는 파서 예외입니다. 전에 soapUI 프로그램에서 xml을 읽으십시오.

+0

네, 맞아요 ... XML 응답 대신 서버에서 HTML 오류 페이지가 나타납니다. 문제는 내 휴대 전화의 Wi-Fi 연결과 함께 자동으로 아파트 커뮤니티에서 제공하는 Wi-Fi를 선택했습니다. 내 집에 와이파이 연결 이상. HTML에서 서버를 찾을 수 없음 오류 페이지가 나타납니다. –