MTOM-Service - Technische Informationen


Erste Schritte
Quellcode
Codierungshinweise


Erste Schritte

Dieses Beispiel veranschaulicht die Verwendung von SOAP Message Transmission Optimization Mechanism (MTOM) für die Übertragung binärer Dateien über einen JAX-WS-Web-Service.  

Das MTOM-Servicebeispiel implementiert einen Web-Service, der den binären Inhalt einer Datei an den Client zurückgibt. Das Beispiel enthält einen Servlet-Client mit dem Namen "org.apache.axis2.jaxws.sample.servlet.SampleServlet", und eine Thin-Client-Anwendung für den MTOM-Service mit dem Namen "org.apache.axis2.jaxws.sample.mtom.SampleMTOMTests". Das Client-Servlet und die Thin-Client-Anwendung des Service verwenden gemeinsamen Code, um mit dem Service über Dispatch und Proxy-basierte Clients in der Quellendatei "SampleMTOMTests.java" mit dem Service zu interagieren.

Quellcode

Den Java-Code für das annotierte Client-Servlet und die Thin-Client-Anwendung des MTOM-Servicebeispiels finden Sie im Verzeichnis "Profilstammverzeichnis/samples/src/JaxWSServicesSamples/SampleMTOMClient/src".

Den Java-Code für die MTOM-Serviceanwendung finden Sie im Verzeichnis "Profilstammverzeichnis/samples/src/JaxWSServicesSamples/SampleMTOMService/src".

Unter z/OS-Betriebssystemen: Die Quellcodestruktur für diese JAX-WS-Beispiele wird unter dem Betriebssystem z/OS nicht bereitgestellt, weil die Beispielanwendungen nicht unter dem Betriebssystem z/OS erstellt werden.

Codierungshinweise

Das MTOM-Servicebeispiel wurde mit dem Tool "Rational Application Developer" aus zwei WSDL-Dateien (Web Services Description Language) generiert, die die Services definieren. Der eine der bereitgestellten Endpunkte verwendet SOAP 1.1 und der andere SOAP 1.2. Der Server identifiziert die eingehenden, über MTOM optimierten Nachrichten an dem Inhaltstyp und entserialisiert die Nachrichten entsprechen. Deshalb ist im MTOM-Servicebeispiel kein expliziter Code für die Behandlung von MTOM in den Services enthalten.

Auf der Clientseite muss MTOM jedoch vor der Servicetransaktion aktiviert werden. In der Thin-Client-Anwendung des MTOM-Service, "org.apache.axis2.jaxws.sample.mtom.SampleMTOMTests.java", gibt es sowohl in der Methode "testMtomWithDispatch" als auch in der Methode "testMtomWithProxy" einen Aufruf der Methode "setMTOMEnabled" für die Bindung. Nach dem Aufruf dieser Methode werden abgehende Nachrichten serialisiert und als über MTOM optimierte Nachrichten gesendet. Wenn die Methode "setMTOMEnabled" nicht in der Bindung definiert ist, werden alle binären Daten in binären Inhaltsknoten als Base64-codierte Zeichenfolgen serialisiert.

Das Client-Servlet "org.apache.axis2.jaxws.sample.servlet.SampleServlet.java" hat keinen servicespezifischen Code und ruft die in der Datei "SampleMTOMTests.java" bereitgestellten Methoden auf.

Der in diesem Beispiel enthaltene Client ruft den MTOM-Service über die Dispatch- und Proxy-Programmiermodelle auf. Der Client demonstriert, wie auf die Dispatch und Proxy-Methoden zugegriffen wird.

Weitere Informationen zum Aktivieren von MTOM für JAX-WS-Web-Services finden Sie in der Bibliothek mit dem Information Center von WebSphere Application Server.