Pergunta

Eu estou tentando fazer um simples serviço web, que faz o seguinte:

  1. O cliente atinge o serviço web solicita um arquivo.
  2. O serviço de web classe de serviço de consultas a um hashtable, que tem a chave (consulta de pesquisa) e o valor que o base64encoded valor de um arquivo (digamos, um pdf)
  3. Agora,eu preciso usar o MTOM para voltar a base64encoded valor armazenado na hashtable para o cliente.

É até o cliente para decodificá-lo e convertê-lo para pdf.

Então, aqui estão as minhas perguntas:

  1. Entendo que codificar arquivos base64 para a transmissão através de web service, mas onde e como MTOM entram em cena lá?

  2. Alguém pode me fornecer um método simples que utiliza MTOM e envia os dados de volta.Precisamos especificar algo no WSDL também?ou uma Cadeia de caracteres tipo de retorno seria suficiente?Por que/Por que não?

Obrigado

Eu tenho visto isso código.Ele usa um monte de anotações, eu só preciso de um simples código java usando o MTOM.Novo para J2EE AQUI :)

ATUALIZAÇÃO 1

Decente o suficiente explicação aqui, agora eu preciso compreendê-lo a partir do nível de implementação.Boa informação aqui, mas , para .Net

ATUALIZAÇÃO 2

Qual deve ser o tipo de retorno do método "createMTOM(int id)"??

Foi útil?

Solução

Você parece ser uma mistura de implementação e protocolo.

A especificação para MTOM é aqui. Este página com exemplos de mensagens.

Se você estiver usando um JAX-WS ambiente, você certamente usar Annotations para ativá-lo.Se você estiver rolando mensagens soap mão, você escrever o código Java você precisa escrever para o produzir.Essencialmente, MTOM significa que o conteúdo dos dados de mover-se para um anexo, que está separado de MIME parte da mensagem, e é referenciado através de uma xop:Include elemento com um href para a parte MIME.

O esquema tem a dizer base64Binary como o tipo de elemento, mas atributos adicionais dar dicas de como a interpretação dos bytes:xmime:contentType e xmime:expectedContentType.Na minha experiência, o JAX-B implementação de referência tem algumas limitações sobre o uso destes.Você não pode, por exemplo, obtê-lo para converter automaticamente o texto para trás e para bytes.Em um típico kit como CXF ou Glassfish, você colocar dados em um DataHandler e o kit de transforma-lo em anexo.

Outras dicas

Um bom exemplo / discussão detalhado é fornecido no IBM RedBook: Desenvolvendo aplicativos de Serviços da Web, consulte as páginas 64-74

http://www.redbooks.ibm.com/redpapers/pdfs/redp4884.pdf

Há um artigo útil aqui Isso descreve o MTOM e como ativá -lo com CXF. O artigo também inclui código -fonte para um exemplo de trabalho.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top