0

下面的代码似乎使我的应用程序崩溃

不知道为什么

帮助表示赞赏。

final String SOAP_ACTION = "http://tempuri.org/MyFunction";
    final String METHOD_NAME = "MyFunction";
    final String NAMESPACE = "http://tempuri.org/";
    final String URL = "http://localhost:23250/WS1.asmx";
    final SoapObject requestObject = new SoapObject(NAMESPACE, METHOD_NAME);
    requestObject.addProperty("UserIdentifier", "");
    requestObject.addProperty("PhoneIdentifier", "");

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

    try
    {
        HttpTransport androidHttpTransport = new HttpTransport(URL);
        androidHttpTransport.call(SOAP_ACTION, envelope);
        SoapObject response = (SoapObject)envelope.getResponse();
        String result =  response.getProperty(0).toString();
    }
    catch(Exception e)
    {
        e.printStackTrace();
    }

我可以从我的浏览器调用网络服务就好了

以下是 LogCat 数据

01-27 09:29:49.564: DEBUG/dalvikvm(296): GC_EXPLICIT freed 307 objects / 16416 bytes in 169ms
01-27 09:29:55.555: INFO/ActivityManager(106): Starting activity: Intent { cmp=myapp.android.v2/.myPage }
01-27 09:29:56.035: INFO/dalvikvm(1074): Could not find method javax.microedition.io.Connector.open, referenced from method org.ksoap2.transport.ServiceConnectionMidp.<init>
01-27 09:29:56.035: WARN/dalvikvm(1074): VFY: unable to resolve static method 113: Ljavax/microedition/io/Connector;.open (Ljava/lang/String;IZ)Ljavax/microedition/io/Connection;
01-27 09:29:56.035: DEBUG/dalvikvm(1074): VFY: replacing opcode 0x71 at 0x0005
01-27 09:29:56.035: DEBUG/dalvikvm(1074): VFY: dead code 0x0008-000d in Lorg/ksoap2/transport/ServiceConnectionMidp;.<init> (Ljava/lang/String;)V
01-27 09:29:56.055: INFO/dalvikvm(1074): Could not find method javax.microedition.io.HttpConnection.close, referenced from method org.ksoap2.transport.ServiceConnectionMidp.disconnect
01-27 09:29:56.055: WARN/dalvikvm(1074): VFY: unable to resolve interface method 114: Ljavax/microedition/io/HttpConnection;.close ()V
01-27 09:29:56.065: DEBUG/dalvikvm(1074): VFY: replacing opcode 0x72 at 0x0002
01-27 09:29:56.065: DEBUG/dalvikvm(1074): VFY: dead code 0x0005-0005 in Lorg/ksoap2/transport/ServiceConnectionMidp;.disconnect ()V
01-27 09:29:56.085: INFO/dalvikvm(1074): Could not find method javax.microedition.io.HttpConnection.openInputStream, referenced from method org.ksoap2.transport.ServiceConnectionMidp.openInputStream
01-27 09:29:56.085: WARN/dalvikvm(1074): VFY: unable to resolve interface method 115: Ljavax/microedition/io/HttpConnection;.openInputStream ()Ljava/io/InputStream;
01-27 09:29:56.085: DEBUG/dalvikvm(1074): VFY: replacing opcode 0x72 at 0x0002
01-27 09:29:56.095: DEBUG/dalvikvm(1074): VFY: dead code 0x0005-0006 in Lorg/ksoap2/transport/ServiceConnectionMidp;.openInputStream ()Ljava/io/InputStream;
01-27 09:29:56.115: INFO/dalvikvm(1074): Could not find method javax.microedition.io.HttpConnection.openOutputStream, referenced from method org.ksoap2.transport.ServiceConnectionMidp.openOutputStream
01-27 09:29:56.115: WARN/dalvikvm(1074): VFY: unable to resolve interface method 116: Ljavax/microedition/io/HttpConnection;.openOutputStream ()Ljava/io/OutputStream;
01-27 09:29:56.115: DEBUG/dalvikvm(1074): VFY: replacing opcode 0x72 at 0x0002
01-27 09:29:56.115: DEBUG/dalvikvm(1074): VFY: dead code 0x0005-0006 in Lorg/ksoap2/transport/ServiceConnectionMidp;.openOutputStream ()Ljava/io/OutputStream;
01-27 09:29:56.135: INFO/dalvikvm(1074): Could not find method javax.microedition.io.HttpConnection.setRequestMethod, referenced from method org.ksoap2.transport.ServiceConnectionMidp.setRequestMethod
01-27 09:29:56.135: WARN/dalvikvm(1074): VFY: unable to resolve interface method 117: Ljavax/microedition/io/HttpConnection;.setRequestMethod (Ljava/lang/String;)V
01-27 09:29:56.145: DEBUG/dalvikvm(1074): VFY: replacing opcode 0x72 at 0x0002
01-27 09:29:56.145: DEBUG/dalvikvm(1074): VFY: dead code 0x0005-0005 in Lorg/ksoap2/transport/ServiceConnectionMidp;.setRequestMethod (Ljava/lang/String;)V
01-27 09:29:56.165: INFO/dalvikvm(1074): Could not find method javax.microedition.io.HttpConnection.setRequestProperty, referenced from method org.ksoap2.transport.ServiceConnectionMidp.setRequestProperty
01-27 09:29:56.165: WARN/dalvikvm(1074): VFY: unable to resolve interface method 118: Ljavax/microedition/io/HttpConnection;.setRequestProperty (Ljava/lang/String;Ljava/lang/String;)V
01-27 09:29:56.165: DEBUG/dalvikvm(1074): VFY: replacing opcode 0x72 at 0x0002
01-27 09:29:56.175: DEBUG/dalvikvm(1074): VFY: dead code 0x0005-0005 in Lorg/ksoap2/transport/ServiceConnectionMidp;.setRequestProperty (Ljava/lang/String;Ljava/lang/String;)V
01-27 09:30:05.580: WARN/ActivityManager(106): Launch timeout has expired, giving up wake lock!
01-27 09:30:05.796: WARN/ActivityManager(106): Activity idle timeout for HistoryRecord{4405ce08 myapp.android.v2/.myPage}
4

4 回答 4

1

您需要下载 j2se 版本而不是 j2me 版本。

于 2011-04-11T21:50:57.333 回答
1

当我尝试调试我的应用程序时也出现了同样的错误。我能够通过重新链接 KSOAP2 SE 库而不是使用 me 版本来纠正它。

于 2011-12-19T17:50:49.433 回答
0

原来是程序员错误

我正在调用一个不存在的网络方法。

没有名为 MyFunction 的方法

于 2012-04-26T06:27:27.257 回答
0

我遇到了同样的错误,我必须从 Java 构建路径中清除所有条目,除了 Android #.#(其中 #.# 是您在项目中使用的版本号)。然后我清理了项目(项目,清理),一切似乎都有效。

于 2012-02-09T12:36:52.907 回答