Služba MTOM - Technické poznámky


Zahájení práce
Vyhledání zdrojového kódu
Kontrola poznámek ke kódu


Zahájení práce

Tato ukázka popisuje použití protokolu SOAP MTOM (Message Transmission Optimization Mechanism) k přenosu binárních souborů pomocí webové služby JAX-WS. 

Ukázka služby MTOM implementuje webovou službu, která vrací binární obsah souboru klientovi. Ukázka zahrnuje klienta servletu org.apache.axis2.jaxws.sample.servlet.SampleServlet a aplikaci tenkého klienta služby MTOM org.apache.axis2.jaxws.sample.mtom.SampleMTOMTests. Servlet klienta služby a aplikace tenkého klienta používají stejný kód pro práci se službou pomocí klientů založených na serveru proxy a odbavení ve zdrojovém souboru SampleMTOMTests.java.

Vyhledání zdrojového kódu

Kód Java pro servlet klienta ukázky služby MTOM s anotací a aplikaci tenkého klienta je umístěn v adresáři kořen_profilu/samples/src/JaxWSServicesSamples/SampleMTOMClient/src.

Kód Java pro aplikaci služby MTOM je umístěn v adresáři kořen_profilu/samples/src/JaxWSServicesSamples/SampleMTOMService/src.

Operační systémy z/OS: Pro operační systém z/OS není strom zdrojového kódu ukázek JAX-WS k dispozici, protože ukázkové aplikace nejsou pro systém z/OS sestaveny.

Kontrola poznámek ke kódu

Ukázka služby MTOM byla vygenerována pomocí nástroje Rational Application Developer ze souborů jazyka WSDL (Web Services Description Language), které definují služby. Jeden z poskytovaných koncových bodů služby používá rozhraní SOAP 1.1 a druhý rozhraní SOAP 1.2. Server automaticky identifikuje příchozí zprávy optimalizované pro službu MTOM na základě typu obsahu a příslušným způsobem tyto zprávy deserializuje. V ukázce služby MTOM tedy neexistuje žádný explicitní kód ke zpracování služby MTOM ve službách.

Na straně klienta však musí být služba před transakcí služby povolena. V aplikaci tenkého klienta služby MTOM (org.apache.axis2.jaxws.sample.mtom.SampleMTOMTests.java) v metodách testMtomWithDispatch a testMtomWithProxy existuje ve vazbě vyvolání metody setMTOMEnabled. Po vyvolání této metody jsou odchozí zprávy serializovány a odeslány jako zprávy optimalizované pro službu MTOM. Pokud pro metodu setMTOMEnabled není nastavena vazba, budou všechna binární data v uzlech s binárním obsahem serializována jako řetězce s kódováním Base64.

Servlet klienta (org.apache.axis2.jaxws.sample.servlet.SampleServlet.java) neobsahuje žádný specifický kód pro službu a volá metody poskytované v souboru SampleMTOMTests.java.

Klient poskytovaný v této ukázce vyvolává službu MTOM pomocí programovacích modelů serveru proxy i odbavení. Klient demonstruje přístup k metodám serveru proxy i odbavení.

Další informace o povolení služby MTOM pro webové služby JAX-WS naleznete v části Knihovna Informačního centra produktu WebSphere Application Server.