WebService retornando array de byte

Galera o metodo getByteArray de meu webservice está retornando um vetor de bytes, estou tentando pega-lo no cliente sem sucesso, não sei como converter o objeto retornado para um vetor de byte, lembrando que estou usando a ferramenta ksoap, alguem poderia me dar uma ajuda?
segue abaixo os codigos.

Servidor:

/**
     * Operação de serviço web
     */
    @WebMethod(operationName = "getByteArray")
    public byte[] getByteArray() throws Exception {
        //TODO grava o seu código de implementação aqui:
        FileInputStream file = new FileInputStream("D:/11-10-09_1558.jpg");
        byte[] aux = new byte[1024];
        byte[] total = null;
        byte[] buffer;
        int cont;
        while ((cont = file.read(aux)) > 0) {
            if (total != null) {
                buffer = new byte[total.length + cont];
                for (int pos = 0; pos < total.length; pos++) {
                    buffer[pos] = total[pos];
                }
                for (int pos = 0; pos < cont; pos++) {
                    buffer[pos+total.length] = aux[pos];
                }
                total=buffer;
            } else {
                total = aux;
            }
            aux = new byte[1024];
        }
        file.close();
        System.out.println("Saida: "+ total.length);
        return total;
    }

Cliente:

SoapObject client = new SoapObject("http://Serv/", "getByteArray");
//        client.addProperty("DATA", "");
        SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
        envelope.setOutputSoapObject(client);
        HttpTransportSE conecta = new HttpTransportSE("http://localhost:8084/MobileServ/Sample");
        try {
            conecta.call("", envelope);
            envelope.getResponse();
        } catch (IOException ex) {
            Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
        } catch (XmlPullParserException ex) {
            Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
        }

porque vc tem que enviar como um array de bytes?

e qual erro está dando?

abs

Pq eu tenho que transferir um arquivo como o exmeplo acima que está pegando uma imagem JPG, e transformando em um vetor de byte e enviando para o cliente.
Não está ocorrendo nenhum erro, simplesmente nao sei o que fazer quando chega no cliente, como transforma-lo em byte array devolta, linha 08 do codigo do cliente

se eu entendi, vc não sabe no client como transformar um byte[] em um .jpg, é isso?
se for, segue o codigo, se não for, explique melhor.

public void escrever(byte[] data, String nomeArquivo) throws IOException{
OutputStream out = new FileOutputStream(nomeArquivo);
out.write(data);
out.close();
}

abs

Não, olhe a linha 08 do cliente, lá tem envelope.getResponse(); esta linha retorna um Object, que é o meu vetor de byte[], esta é minha duvida, como transformar um Object para vetor de byte.

já tentei byte vet[]=(byte[])envelope.getResponse(); e não deu certo, o erro apresentado desta maneira é

Exception in thread "main" java.lang.ClassCastException: org.ksoap2.serialization.SoapPrimitive cannot be cast to [B at mobilecliente3.Main.ksoap(Main.java:103) at mobilecliente3.Main.main(Main.java:31) Java Result: 1

Então esta é minha duvida como pegar um Objetao serializavel e transformar ele em uma vetor de byte.

Aew Shakall, qto tempo! Rs!
Acho que pode resolver o seu problems asim:

byte[] b = envelope.getResponse().toString().getBytes();

o que vc acha?
Abraço e se cuide!

Boa noite donny .

Voce sabe me dizer como que faço para receber um array de bytes no webservice java?

Eu criei uma aplicação java android e quero enviar um arquivo (pdf, jpg…) só que não sei como receber no meu Web Serivce.

Obrigada

Boa noite Jaini,

Segue abaixo um exemplo de um web método onde recebe um arquivo zipado.

    @WebMethod(operationName = "DB")
    public String DB(@WebParam(name = "db") byte[] db) {
        String ret = "";
        try {            
            File file = File.createTempFile("PDADB", ".zip");
            FileOutputStream fil = new FileOutputStream(file);
            fil.write(db);
            fil.close();
            ret = "OK*@";
        } catch (Exception ex) {
            Logger.getLogger(ConexaoCampo.class.getName()).log(Level.SEVERE, null, ex);
            ret = "ERRO*" + ex.getMessage() + "*@";
        }
        return ret;
    }