muito Obrigada a todos pelas respostas.
Para esclarecer um pouco mais sobre o que estou fazendo:
Estou manipulando um arquivo XML e comprimindo em gzip para enviar para um
bendito WebService que em seu método publico gravarArquivo espera receber os seguintes parâmetros:
gravarArquivoAcao(“usuario”, “senha”, byte[] arquivo, int);
Consegui resolver a compressão com as dicas enviadas e o código ficou assim:
/Código fonte utilizado
int TAMANHO_BUFFER = 2048; //2 KBytes
byte[] dados = new byte[TAMANHO_BUFFER];
File arquivoxml = new File("c:/solicitacaoacao.xml");
File arquivoGzip = new File("c:/solicitacaoacao.gz");
//Formato Gzip
//cria o GZIP
OutputStream os = new FileOutputStream( arquivoGzip );
GZIPOutputStream gos = new GZIPOutputStream( os );
InputStream is = new FileInputStream( arquivoxml);
int bytesLidos = 0;
while( (bytesLidos = is.read( dados, 0, TAMANHO_BUFFER )) > 0 ) {
gos.write( dados, 0, bytesLidos );
}
is.close();
gos.close();
os.close();
//Array de Bytes
ByteArrayOutputStream bos = new ByteArrayOutputStream();
// grava bytes no BOS
bos.writeTo( os );
bos.toByteArray();
Porém , agora estou capturando o seguinte erro:
Exception in thread “main” javax.xml.rpc.soap.SOAPFaultException: java.io.EOFException
at com.sun.xml.rpc.client.StreamingSender._raiseFault(StreamingSender.java:491)
at com.sun.xml.rpc.client.StreamingSender._send(StreamingSender.java:307)
Alguém tem uma idéia? Desculpe perguntar , mas o WebService é de um orgão público que não fornece nenhuma documentação e o WebService server foi desenvolvido por um terceiro que não presta mais serviço para o orgão.