Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/220.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android ksoap2无法序列化字节[]的异常_Android_Web Services_Ksoap2 - Fatal编程技术网

Android ksoap2无法序列化字节[]的异常

Android ksoap2无法序列化字节[]的异常,android,web-services,ksoap2,Android,Web Services,Ksoap2,我正在尝试使用Asp.NETWeb服务。我正在使用ksoap2库。但是我得到了“java.lang.RuntimeException:无法序列化:[B@41eb9c40“异常。我试图通过web服务发送文件。我认为问题是由字节数组引起的。以下是我的代码: SoapObject Request = new SoapObject(NAMESPACE, METHOD_NAME); String savePath = MainActivity.this.getFilesDir().get

我正在尝试使用Asp.NETWeb服务。我正在使用ksoap2库。但是我得到了“java.lang.RuntimeException:无法序列化:[B@41eb9c40“异常。我试图通过web服务发送文件。我认为问题是由字节数组引起的。以下是我的代码:

    SoapObject Request = new SoapObject(NAMESPACE, METHOD_NAME);

    String savePath = MainActivity.this.getFilesDir().getPath()
            + "/asd.txt";
    RandomAccessFile file = new RandomAccessFile(savePath, "r");
    byte[] fileByte = new byte[(int) file.length()];
    file.readFully(fileByte);
    file.close();

    Request.addProperty("file", fileByte);
    Request.addProperty("fileName", "fileNameDir.txt");

    SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
            SoapEnvelope.VER11);
    envelope.dotNet = true;
    envelope.setOutputSoapObject(Request);
    AndroidHttpTransport androidHttpTransport = new AndroidHttpTransport(
            URL);
    try {
        androidHttpTransport.call(SOAP_ACTION, envelope);
        SoapObject response = (SoapObject) envelope.getResponse();
        System.out.println(response.getProperty(1).toString());
    } catch (Exception e) {
        System.out.println("exc: " + e);
    }

我修复了它。我添加了这行代码,它成功了:

    MarshalBase64 marshal = new MarshalBase64();
    marshal.register(envelope);

我修复了它。我添加了这行代码,它成功了:

    MarshalBase64 marshal = new MarshalBase64();
    marshal.register(envelope);

我修复了它。我添加了这行代码,它成功了:

    MarshalBase64 marshal = new MarshalBase64();
    marshal.register(envelope);

我修复了它。我添加了这行代码,它成功了:

    MarshalBase64 marshal = new MarshalBase64();
    marshal.register(envelope);