Como enviar um pdf via SOAP

Olá pessoal,

Estou com um problema e não tenho conseguido muita ajuda na net. Estou criando um WebService (Está rodando no GlassFish 3.1), preciso agora implementar o envio de um arquivo (pdf) e ai está o problema. Não consigo encontrar nenhum post em português que realmente me ajude!

Sendo direto: Como eu faço para anexar um arquivo(pdf) a mensagem SOAP? Alguém poderia me mandar um código comentado com algo semelhante? E como meu web service deve lidar com um envelope SOAP que contém attachements?

Nunca manipulei um SOAP e estoou realmente perdido nesse problema :shock: !

Desde já agradeço!

cara,

da uma olhada nesse link, http://stackoverflow.com/questions/132590/can-a-web-service-return-a-stream

t+

Não ajuda muito!

Gostaria de ver algo mais concreto, um exemplo! Além de que não queria usar um array de bytes acho que além de poluir o body do SOAP um arquivo muito grande poderia causar erro fatal de memória! Mesmo assim agradeço!

Aguem tem um exemplo da construção do SOAP e como deve ser a passagem do arquivo para o envelope? cm eu popularia o AttchmentePart?

De memória, não sei; mas de timeout, é bem provável.
Não tem outra solução, não? WS, pra casos de download / upload, por experiência própria, só traz problema.
Abraço!

rsrsrs

realmente estou percebendo isso!

Porém tenho que fazer já que o patrão pediu pra implementar no WS que esstá em desenvolvimento!

Alguém?

Para enviar arquivo binário o único jeito é colocando os bytes mesmo… mas se for grande pode ter alguns problemas, como vcs observaram.
As maneiras que consigo imaginar para contornar isso são:

  • Enviar o arquivo aos pedacinhos (é o que sugere o link postado aqui)
  • Gravar o arquivo no servidor e enviar a URL. Assim cada client pode abrir um stream e baixar sem sobrecarregar a memória e nem dar timeout na chamada ao WS.
  • Enviar o arquivo aos pedacinhos (é o que sugere o link postado aqui) …

onde??? manda o link por favor

vlw

Na primeira resposta, do alissonvla