2013-04-03 2 views
0

안드로이드에서 SOAP 메시지를 보내고 받기 위해 ksoap2 라이브러리를 사용하고 싶지만 Eclipse에서 제대로 작동하지 않습니다. 그것은 나에게 메시지 SoapObject cannot be resolved to a type을 계속주고있다. this answer에서 가져온 클래스 Soap의 코드를 복사하여 나중에 필요에 따라 편집하고 나중에 this question에서 가져 오기를 사용했습니다. 나는 안드로이드 개발, 자바, 이클립스에 익숙하지 않으므로 아마도 뭔가를 간과 할 것이다.Eclipse에서 ksoap2를 사용할 수 없습니다.

package com.example.myapp; 
import android.content.Context; 
import org.ksoap2.transport.HttpTransportSE; 
import org.ksoap2.SoapEnvelope; 
import org.ksoap2.serialization.SoapObject; 
import org.ksoap2.serialization.SoapSerializationEnvelope; 

public class Soap { 
    Context context;  
    int viPeriod; 
    String vsUserID; 
    String NAMESPACE = "http://localhost/soap/"; 
    String SOAP_ACTION = "http://localhost/soap/bin/SOAP.dll"; 
    String METHOD_NAME = "SOAP";  
    public String result = null; 
    Object resultRequestSOAP = null; 

    public Soap(Context context) { 
     this.context = context; 
    } 

    public void SendSoap() { 
     SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);  
     request.addProperty("viPeriod", viPeriod); 
     request.addProperty("vsUserID", vsUserID); 
     SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); 

     envelope.dotNet = true; 
     envelope.setOutputSoapObject(request); 
     HttpTransportSE androidHttpTransport = new HttpTransportSE(URL); 
     androidHttpTransport.debug = true; 

     try { 
      androidHttpTransport.call(SOAP_ACTION, envelope); 
      String requestDumpString = androidHttpTransport.requestDump; 
      System.out.println("requestDump : " + requestDumpString); 

      resultRequestSOAP = envelope.getResponse(); // Output received 
      result = resultRequestSOAP.toString(); // Result string 

      System.out.println("OUTPUT : " + result); 
     } catch (Exception e) { 
      e.printStackTrace(); 
     } 
    } 

} 

Eclipse 4.2.2의 프로젝트의 libs 폴더에는 ksoap2-android-assembly-3.0.0-jar-with-dependencies.jar 파일이 있습니다. 내가 잘못 뭐하는 거지
Java Build Path Libraries Java Build Path Order and Export

? 저를 올바른 방향으로 안내해 주시겠습니까? 아니면 다르게 해결할 수있는 조언.

미리 감사드립니다. Dediqated.

답변

0

lib 폴더에 ksoap2 jar 파일을 추가하고 libs 폴더로 옮긴 다음 프로젝트를 정리한다고 생각합니다. 이렇게하면 문제가 해결됩니다.

+0

아니요 직접 libs 폴더에 다운로드했습니다. 방금 프로젝트를 청소했지만 여전히 같은 문제가 발생했습니다. – Dediqated

0

SoapAction에는 네임 스페이스와 메서드 이름이 포함되어야합니다.

예 : NAMESPACE = "http : // sample /";

METHOD_NAME = "sampleMethod";

SOAP_ACTION = NAMESPACE + METHOD_NAME;

응답이 비누 원시 또는 비누 물체인지 확인하십시오.

+0

Eclipse가 SoapObject를 찾지 못해서 문제가 해결되지 않습니다. 그것은 단지 밑에 squiggly 라인을 보여줍니다 .. – Dediqated

+0

당신은 adt가 17 일 경우 libs 폴더를 만들었습니까? http://stackoverflow.com/questions/10030233/exception-while-using-ksoap2-android –

+0

나는 이미 libs 폴더를 만듭니다. 약 2 개월 동안 Eclipse 만 사용하므로 ADT 버전 21.1이 있습니다. – Dediqated

관련 문제