2012-04-10 4 views
0

안드로이드를 사용하는 .net 웹 서비스에 관한 기사를 많이 읽었지만 제대로 작동하지 않는 것으로 보입니다.안드로이드를 통해 .NET 웹 서비스 사용하기

  • 내가 donwloaded 한 "ksoap2-안드로이드 조립-2.6.2-항아리 - 의존성과" 내 현재 프로젝트에서 외부 항아리로에 추가 할 수 있습니다. 이름 = "android.permission.INTERNET은"에서 매니페스트 파일을 :

  • 는 이미 사용 - 권한 안드로이드를 넣었습니다.

내가 프로그램을 디버깅 및 함수를 호출하면 응용 프로그램의 말을 "는 (*)이 예상치 않게 중지 * 응용 프로그램은. 다시 시도해주세요."

내가 뭘 잘못하고 있니? 여기 내 코드는 다음과 같습니다

private static final String NAMESPACE = "http://epson.com.ph/"; 
private static final String SOAP_ACTION = "http://epson.com.ph/TheMessage"; 
private static final String METHOD_NAME = "TheMessage"; 
private static final String URL = "http://10.0.2.2/DataAccess.asmx"; 

private void getData(){ 
    SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME); 

    //request.addProperty("selectStatement", "SELECT * FROM ALLDETAILS"); 

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

    HttpTransportSE androidHttpTransport = new HttpTransportSE(URL); 
    TextView tv = (TextView)findViewById(R.id.txtPreview); 

    try { 
     androidHttpTransport.call(SOAP_ACTION, envelope); 
     Object result = (Object)envelope.getResponse(); 

     tv.setText(result.toString()); 
    } catch (Exception ex) { 
     messageBox(ex.getMessage()); 
     } 
} 

로그 캣 오류는 다음과 같습니다

04-10 11:04:46.156: E/AndroidRuntime(332): FATAL EXCEPTION: main 
04-10 11:04:46.156: E/AndroidRuntime(332): java.lang.NoClassDefFoundError: org.ksoap2.serialization.SoapObject 
04-10 11:04:46.156: E/AndroidRuntime(332): at my.WSCA.WebServiceConsumptionActivity.getData(WebServiceConsumptionActivity.java:53) 
04-10 11:04:46.156: E/AndroidRuntime(332): at my.WSCA.WebServiceConsumptionActivity.access$0(WebServiceConsumptionActivity.java:52) 
04-10 11:04:46.156: E/AndroidRuntime(332): at my.WSCA.WebServiceConsumptionActivity$1.onClick(WebServiceConsumptionActivity.java:42) 
04-10 11:04:46.156: E/AndroidRuntime(332): at android.view.View.performClick(View.java:2485) 
04-10 11:04:46.156: E/AndroidRuntime(332): at android.view.View$PerformClick.run(View.java:9080) 
04-10 11:04:46.156: E/AndroidRuntime(332): at android.os.Handler.handleCallback(Handler.java:587) 
04-10 11:04:46.156: E/AndroidRuntime(332): at android.os.Handler.dispatchMessage(Handler.java:92) 
04-10 11:04:46.156: E/AndroidRuntime(332): at android.os.Looper.loop(Looper.java:123) 
04-10 11:04:46.156: E/AndroidRuntime(332): at android.app.ActivityThread.main(ActivityThread.java:3683) 
04-10 11:04:46.156: E/AndroidRuntime(332): at java.lang.reflect.Method.invokeNative(Native Method) 
04-10 11:04:46.156: E/AndroidRuntime(332): at java.lang.reflect.Method.invoke(Method.java:507) 
04-10 11:04:46.156: E/AndroidRuntime(332): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 
04-10 11:04:46.156: E/AndroidRuntime(332): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 
04-10 11:04:46.156: E/AndroidRuntime(332): at dalvik.system.NativeStart.main(Native Method) 

제발 도와주세요, 나는 가능한 한 빨리이 일을 할 필요가 있었다. 감사!

+0

같은 경우 일 수 있습니다. http://stackoverflow.com/questions/10005206/twitter4j-androidruntime446-java-lang-noclassdeffounderror-twitter4j-http/10007966#10007966 – MKJParekh

+0

이것은 환경 설정 문제가 될 수 있습니다. 이 비슷한 해결책은 사이트입니다. http://stackoverflow.com/questions/9853113/android-ksoap2-java-lang-noclassdeffounderror-org-ksoap2-serialization-soapobje – UVM

답변

0

답장을 보내 주셔서 감사합니다. 이미 해결책이 있습니다. 프랑켄슈타인 (Frankenstein)의 말처럼, 그가 준 링크에 대해서도 똑같은 경우입니다.

프로젝트에 libs 폴더를 넣고 ksoap jar 파일을 가져 왔습니다. 그냥 궁금해서, libs 폴더가 모든 프로젝트에 자동으로 포함되지 않는 이유는 무엇입니까? 다른 폴더 이름으로 이름을 지정하면 솔루션이 작동합니다.

관련 문제