2012-04-10 115 views
0

我浏览过很多关于使用android的.net web服务的文章,但似乎我无法使它工作。通过Android使用.NET web服务

  • 我donwloaded “ksoap2,机器人组装-2.6.2-JAR-与依赖性” 和添加它作为我的当前项目外部罐子。

  • 我已经把 使用许可权的android:NAME = “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()); 
     } 
} 

的logcat的错误是:

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 2012-04-10 05:15:04

+0

这可能是你的环境设置问题。但是,那里是在这个 网站类似的解决方案http://stackoverflow.com/questions/9853113/android-ksoap2-java-lang-noclassdeffounderror-org-ksoap2-serialization-soapobje – UVM 2012-04-10 04:55:28

回答

0

谢谢你的回复,我已经有了一个解决方案。就像弗兰肯斯坦所说的那样,他给出的链接上的情况略有相同。

我已经把一个libs文件夹放在项目中并导入ksoap jar。我只是想知道,为什么libs文件夹不会自动包含在每个项目中,如果我用不同的文件夹名称命名该解决方案,该解决方案是否会工作。