Array de Bytes

Olá pessoal tudo bem?
Estou com um problema estou fazendo teste de um webservice pelo SoapUI, o meu metodo recebe o nome do arquivo e o array de bytes, pego esse nome do arquivo e o array de bytes e gravo em um diretorio, ai quando vou descopactar o arquivo da erro, dizendo que o arquivo está corrompido, sendo que o arquivo que eu mando não está com erro mas, quando a aplicação grava esse arquivo no diretorio ele grava corrompido.
Será que é limitação do array de bytes?

Olá,

Você não disse isso com todas as letras, mas estou entendendo que o array de bytes que você está recebendo representa um arquivo compacto, .zip ou algo semelhante. Certo?

Um array de bytes não tem limitacões alem de um tamanho máximo (para arquivos muito grandes, você precisa ficar passando o arquivo em partes, preenchendo o array cada vez), mas acredito não ser o problema no teu caso.

Os erros que eu tenho cometido quando tenho feito rotinas semelhantes são:

  1. Transformar o array de bytes em String em algum momento, que muitas vezes acaba corrompindo arquivos binarios.

  2. Na hora de escrever o arquivo, escrever de uma forma incompleta.

Para depurar o problema, sugiro você inspecionar o arquivo gravado de uma forma mais detalhista do que simplesmente tentar abri-lo. Veja se o tamanho for zero. Veja o tamanho do arquivo e compare com o tamanho do arquivo que você está querendo gravar.

Se os arquivos são do mesmo tamanho, pode ter a ver com os charsets. Daí seria interessante comparar os arquivos com um hex editor que mostra o valor de cada byte no arquivo.

[]s,
Sami

Obrigada pela resposta.
Eu comparei os arquivos e os mesmo tem o mesmo tamanho.
Vou ver os charsets…

Se em alguma etapa do processo o array de bytes é convertido para uma string, muitos dos bytes são convertidos para o caracter “?” (ponto de interrogação) - isso,obviamente, é uma coisa “sem volta”, ou seja, você não consegue recuperar a informação original…