При вызове веб-службы asmx из приложения Android возникает исключение: сериализация невозможна - PullRequest
0 голосов
/ 21 декабря 2018

В моем приложении я хочу загрузить изображение на веб-сервер, где у меня есть веб-сервис asmx.в этом веб-сервисе есть два параметра, один из которых - имя файла и файл в байтовом массиве.но когда я вызываю его с помощью soap api, оно выдает исключение как

java.lang.RuntimeException: невозможно сериализовать: [B @ 8357037

Вот мой коддля Android, где я вызываю следующий метод в классе обслуживания намерения.

public void uploadFile(String sourceFileUri,String fileName)
{
    try
    {
        File file = new File(imgPath);
        byte[] bytesArray = new byte[(int) file.length()];

        try
        {
            FileInputStream fis = null;
            fis = new FileInputStream(file);
            fis.read(bytesArray); //read file into bytes[]
         //   fis.close();
        }
        catch (FileNotFoundException e)
        {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }

        SoapObject request = new SoapObject(WSDL_TARGET_NAMESPACE,OPERATION_NAME);

        request.addProperty("f",bytesArray);
        request.addProperty("fileName",fileName.toString());

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

        envelope.setOutputSoapObject(request);

        HttpTransportSE httpTransport = new HttpTransportSE(SOAP_ADDRESS);
        try
        {
            httpTransport.call(SOAP_ACTION, envelope);
            Object response = envelope.getResponse();
            Toast.makeText(getBaseContext(), response.toString(),Toast.LENGTH_LONG).show();

        }
        catch (Exception exception)
        {
            Toast.makeText(getBaseContext(), exception.toString(),Toast.LENGTH_LONG).show();
        }

Как позвонить в службу asmx или как исправить указанное выше исключение?

...