Servicio MTOM - Notas técnicas


Cómo empezar
Localizar el código fuente
Revisar notas de la codificación


Cómo empezar

Este ejemplo muestra el uso del mecanismo de optimización de transmisión de mensajes (MTOM) de SOAP para transmitir archivos binarios utilizando un servicio Web de JAX-WS. 

El ejemplo de servicio MTOM implementa un servicio Web que devuelve el contenido binario de un archivo al cliente. El ejemplo incluye un cliente de servlet, org.apache.axis2.jaxws.sample.servlet.SampleServlet y una aplicación de cliente ligero de servicio MTOM, org.apache.axis2.jaxws.sample.mtom.SampleMTOMTests. El servlet de cliente de servicio y la aplicación de cliente ligero utiliza código común para trabajar con el servicio utilizando clientes basados en envío y proxy en el archivo de origen SampleMTOMTests.java.

Localizar el código fuente

El código Java para el servlet de cliente de ejemplo de servicio MTOM anotado y la aplicación de cliente ligero se encuentra en el directorio raíz_perfil/samples/src/JaxWSServicesSamples/SampleMTOMClient/src.

El código Java para la aplicación de servicio MTOM se encuentra en el directorio raíz_perfil/samples/src/JaxWSServicesSamples/SampleMTOMService/src.

En los sistemas operativos z/OS: no se proporciona para estos ejemplos de JAX-WS en el sistema operativo z/OS porque las aplicaciones de ejemplo no están creadas en el sistema operativo z/OS.

Revisar notas de la codificación

El ejemplo de servicio MTOM se ha generado utilizando la herramienta Rational Application Developer a partir de dos archivos de lenguaje de descripción de servicios Web (WSDL) que definen el servicio. Uno de los puntos finales de servicio que se proporcionan utiliza SOAP 1.1 y el otro SOAP 1.2. El servidor identifica automáticamente mensajes optimizados MTOM entrantes según el tipo de contenido y deserializa los mensajes como corresponde. Por lo tanto, no hay ningún código explícito en el ejemplo de servicio MTOM para manejar MTOM en los servicios.

Sin embargo, en el lado del cliente MTOM debe estar habilitado antes de la transacción de servicio. Dentro de la aplicación de cliente ligero de servicio MTOM, org.apache.axis2.jaxws.sample.mtom.SampleMTOMTests.java, en los dos métodos, testMtomWithDispatch y testMtomWithProxy, hay una invocación del método setMTOMEnabled en el enlace. Después de invocar este método, los mensajes de salida se serializan y envían como mensajes optimizados MTOM. Si el método setMTOMEnabled no se establece en el enlace, todos los datos binarios de los nodos de contenido binarios se serializan como series codificadas Base64.

El servlet de cliente, org.apache.axis2.jaxws.sample.servlet.SampleServlet.java, no tiene código específico del servicio y llama a los métodos proporcionados en el archivo, SampleMTOMTests.java.

El cliente proporcionado en este ejemplo invoca el servicio MTOM utilizando los modelos de programación de envío y proxy. El cliente demuestra cómo acceder a los dos métodos, envío y proxy.

Para obtener más información sobre cómo habilitar MTOM para servicios Web de JAX-WS, consulte la biblioteca del centro de información de WebSphere Application Server.