Servizio MTOM - Note tecniche


Introduzione
Individuazione del codice sorgente
Riepilogo delle note di codifica


Introduzione

Questo esempio descrive l'utilizzo del MTOM (Message Transmission Optimization Mechanism) SOAP per trasmettere file binari tramite un servizio Web JAX-WS. 

L'esempio di servizio MTOM implementa un servizio Web che restituisce il contenuto binario di un file al client. L'esempio include un client servlet, org.apache.axis2.jaxws.sample.servlet.SampleServlet, ed un'applicazione Thin Client del servizio MTOM, org.apache.axis2.jaxws.sample.mtom.SampleMTOMTests. Il servlet client del servizio e l'applicazione Thin Client usufruiscono di un codice comune per utilizzare il servizio tramite client basati su proxy e dispatch nel file origine SampleMTOMTests.java.

Individuazione del codice sorgente

Il codice Java per il servlet client di esempio del servizio MTOM e per l'applicazione Thin Client annotati si trova nella directory root_profilo/samples/src/JaxWSServicesSamples/SampleMTOMClient/src.

Il codice Java per l'applicazione del servizio MTOM si trova nella directory root_profilo/samples/src/JaxWSServicesSamples/SampleMTOMService/src.

Su sistemi operativi z/OS: la struttura del codice sorgente di questi esempi JAX-WS non viene fornita per il sistema operativo z/OS in quanto le applicazioni di esempio non vengono generate su tale sistema.

Riepilogo delle note di codifica

L'esempio di servizio MTOM è stato generato mediante l'utilizzo dello strumento Rational Application Developer da due file WSDL (Web Services Description Language) che definiscono i servizi. Uno degli endpoint del servizio forniti utilizza SOAP 1.1 e l'altro SOAP 1.2. Il server identifica automaticamente i messaggi ottimizzati MTOM in entrata in base al tipo di contenuto e deserializza i messaggi di conseguenza. Pertanto non esiste un codice esplicito nell'esempio di servizio MTOM che gestisce il MTOM nei servizi.

Dalla parte client, tuttavia, MTOM deve essere abilitato prima della transazione del servizio. All'interno dell'applicazione Thin Client del servizio MTOM, org.apache.axis2.jaxws.sample.mtom.SampleMTOMTests.java, in entrambi i metodi testMtomWithDispatch e testMtomWithProxy, vi è un richiamo del metodo setMTOMEnabled sul bind. Dopo il richiamo di questo metodo, i messaggi in uscita vengono serializzati ed inviati come messaggi ottimizzati MTOM. Se il metodo setMTOMEnabled non è impostato sul bind, tutti i dati binari dei nodi di contenuto binario vengono serializzati come stringhe codificate in Base64.

Il servlet client, org.apache.axis2.jaxws.sample.servlet.SampleServlet.java, non dispone di un codice specifico per il servizio e richiama i metodi forniti nel file SampleMTOMTests.java.

Il client fornito in questo Esempio richiama il servizio MTOM utilizzando entrambi i modelli di programmazione dispatch e proxy. Il client descrive come accedere ad entrambi i metodi dispatch e proxy.

Per ulteriori informazioni sull'abilitazione di MTOM per i servizi Web JAX-WS, consultare la Libreria del centro informazioni WebSphere Application Server.