Serviciul MTOM - Note tehnice


Iniţiere
Localizarea codului sursă
Examinarea notelor despre codare


Iniţiere

Acest exemplu ilustrează folosirea SOAP MTOM (Message Transmission Optimization Mechanism) pentru a transmite fişiere binare folosind un serviciu Web JAX-WS. 

Exemplul Serviciu MTOM implementează un serviciu Web care returnează clientului un context binar al unui fişier. Exemplul include un client servlet org.apache.axis2.jaxws.sample.servlet.SampleServlet şi o aplicaţie de client subţire serviciu MTOM, org.apache.axis2.jaxws.sample.mtom.SampleMTOMTests. Servletul client serviciu şi aplicaţia client subţire folosesc cod comun pentru a lucra cu serviciul, folosind clienţii bazaţi pe dispecerizare şi proxy din fişierul sursă SampleMTOMTests.java.

Localizarea codului sursă

Codul Java pentru servletul client adnotat al exemplului Serviciu MTOM şi aplicaţia client subţire se află în directorul profile_root/samples/src/JaxWSServicesSamples/SampleMTOMClient/src.

Codul Java pentru aplicaţia se află în directorul profile_root/samples/src/JaxWSServicesSamples/SampleMTOMService/src.

Pe sistemele de operare z/OS: Arborele de cod sursă pentru aceste Exemple JAX-WS nu este furnizat pe sistemele de operare z/OS deoarece aplicaţiile Exemplu nu sunt construite pe sistemul de operare z/OS.

Examinarea notelor despre codare

Exemplul de serviciu MTOM a fost generat folosind unealta Rational Application Developer din două fişiere WSDL (Web Services Description Language) care definesc serviciul. Unul din punctele finale ale serviciului foloseşte SOAP 1.1, iar celălalt SOAP 1.2. Servererul identifică automat mesajele optimizate MTOM care intră în funcţie de tipul de conţinut şi deserializează mesajul în funcţie de aceasta. De aceea, nu există cod explicit în exemplul Serviciu MTOM care să trateze MTOM în servicii.

Pe partea client însă, MTOM trebuie activat înainte de tranzacţia serviciului. În aplicaţia de client subţire a serviciului MTOM, org.apache.axis2.jaxws.sample.mtom.SampleMTOMTests.java, în ambele metode testMtomWithDispatch şi testMtomWithProxy, există o invocare a metodei setMTOMEnabled la legare. După ce această metodă este invocată, mesajele care ies sunt serializate şi trimise ca mesaje optimizate MTOM. Dacă metoda setMTOMEnabled nu este setată la legare, atunci toate datele binare din nodurile de conţinut binar sunt serializate ca şiruri codificate Base64.

Servletul client org.apache.axis2.jaxws.sample.servlet.SampleServlet.java nu are cod specific serviciului şi apelează metodele furnizate în fişierul SampleMTOMTests.java.

Clientul furnizat în Exemplu invocă serviciul MTOM folosind ambele metode de program, dispatch şi proxy. Clientul demonstrează cum să aceesaţi ambele metode, dispatch şi proxy.

Pentru mai multe informaţii despre activarea MTOM pentru serviciile Web JAX-WS, vedeţi Biblioteca centrului de informare WebSphere Application Server.