MTOM service - Notas Técnicas


Introdução
Localizando Código-fonte
Revendo Notas de Codificação


Introdução

Esta amostra ilustra o uso de SOAP MTOM (Message Transmission Optimization Mechanism) para transmitir arquivos binários usando um serviço da Web do JAX-WS. 

A Amostra do Serviço MTOM implementa um serviço da Web que retorna o conteúdo binário de um arquivo para o cliente. A amostra inclui um cliente de servlet, org.apache.axis2.jaxws.sample.servlet.SampleServlet, e um aplicativo thin client do serviço MTOM, org.apache.axis2.jaxws.sample.mtom.SampleMTOMTests. O servlet do cliente de serviço e o aplicativo thin client utilizam código comum para trabalhar com o serviço utilizando clientes baseados em dispatch e proxy no arquivo de origem SampleMTOMTests.java.

Localizando Código-fonte

O código Java para o servlet do cliente de Amostra do serviço MTOM anotado e o aplicativo thin client estão localizados no diretório raiz_do_perfil/samples/src/JaxWSServicesSamples/SampleMTOMClient/src.

O código Java para o aplicativo de serviço MTOM está localizado no diretório raiz_do_perfil/samples/src/JaxWSServicesSamples/SampleMTOMService/src.

Em sistemas operacionais z/OS: A árvore de código-fonte para essas Amostras do JAX-WS não é fornecida no sistema operacional z/OS porque os aplicativos de amostra não são construídos no sistema operacional z/OS.

Revendo Notas de Codificação

A amostra de serviço MTOM foi gerada utilizando a ferramenta Rational Application Developer de dois arquivos WSDL (Web Services Description Language) que definem os serviços. Um dos terminais de serviço fornecidos utiliza SOAP 1.1 e o outro utiliza SOAP 1.2. O servidor identifica automaticamente as mensagens otimizadas recebidas de MTOM no tipo de conteúdo e desserializa as mensagens de acordo. Dessa forma, não há código explícito na amostra do serviço MTOM para manipular MTOM nos serviços.

No cliente, no entanto, o MTOM deve ser ativado antes da transação do serviço. No aplicativo thin client do serviço MTOM, org.apache.axis2.jaxws.sample.mtom.SampleMTOMTests.java, nos métodos testMtomWithDispatch e testMtomWithProxy, existe uma chamada do método setMTOMEnabled na ligação. Depois que esse método é chamado, as mensagens de saída são serializadas e enviadas como mensagens otimizadas de MTOM. Se o método setMTOMEnabled não tiver configurado a ligação, todos os dados binários nos nós de conteúdo binário serão serializados como cadeias codificadas por Base64.

O servlet do cliente, org.apache.axis2.jaxws.sample.servlet.SampleServlet.java, não possui código específico do serviço e chama os métodos fornecidos no arquivo SampleMTOMTests.java.

O cliente fornecido nesta amostra chama o serviço MTOM usando os modelos de programação dispatch e proxy. O cliente demonstra como acessar os métodos dispatch e proxy.

Para obter mais informações sobre como ativar o MTOM para os serviços da Web do JAX-WS, consulte a Biblioteca Centro de Informações do WebSphere Application Server.