Usługa MTOM - noty techniczne


Pierwsze kroki
Znajdowanie kodu źródłowego
Przeglądanie uwag dotyczących kodu


Pierwsze kroki

Ten przykład ilustruje sposób przesyłania plików binarnych za pośrednictwem usługi WWW JAX-WS przy użyciu mechanizmu MTOM protokołu SOAP. 

Przykład usługi MTOM implementuje usługę WWW, która zwraca binarną zawartość pliku do klienta. Przykład obejmuje klienta serwletowego, org.apache.axis2.jaxws.sample.servlet.SampleServlet, oraz aplikację cienkiego klienta usługi MTOM, org.apache.axis2.jaxws.sample.mtom.SampleMTOMTests. Serwlet klienta usługi i aplikacja cienkiego klienta do współpracy z usługą używają wspólnego kodu - klientów opartych na modelach rozsyłania i proxy znajdujących się w pliku źródłowym SampleMTOMTests.java.

Znajdowanie kodu źródłowego

Kod języka Java opatrzonego komentarzami serwletu klienta przykładowej usługi MTOM oraz aplikacji cienkiego klienta znajduje się w katalogu katalog_główny_profilu/samples/src/JaxWSServicesSamples/SampleMTOMClient/src.

Kod języka Java dla aplikacji usługi MTOM znajduje się w katalogu katalog_główny_profilu/samples/src/JaxWSServicesSamples/SampleMTOMService/src.

W systemach operacyjnych z/OS: Drzewo kodu źródłowego przykładów usług JAX-WS nie jest udostępniane w systemie operacyjnym z/OS, ponieważ przykładowe aplikacje nie są budowane w systemie operacyjnym z/OS.

Przeglądanie uwag dotyczących kodu

Przykład usługi MTOM został wygenerowany za pomocą narzędzia Rational Application Developer z dwóch plików języka WSDL (Web Services Description Language), które definiują odpowiednie usługi. Jeden z dostępnych punktów końcowych usługi używa protokołu SOAP 1.1, a drugi - protokołu SOAP 1.2. Serwer automatycznie identyfikuje przychodzące zoptymalizowane komunikaty MTOM na podstawie ich typu treści i odpowiednio przekształca je z postaci szeregowej. Z tego względu przykład usługi MTOM nie zawiera kodu bezpośrednio obsługującego mechanizm MTOM w usługach.

Po stronie klienta natomiast usługa MTOM musi zostać włączona przed wykonaniem transakcji usługi. W aplikacji cienkiego klienta usługi MTOM (w pliku org.apache.axis2.jaxws.sample.mtom.SampleMTOMTests.java) metoda setMTOMEnabled jest wywoływana podczas wiązania zarówno w metodzie testMtomWithDispatch, jak i w metodzie testMtomWithProxy. Po wywołaniu tej metody komunikaty wychodzące są przekształcane do postaci szeregowej i wysyłane jako zoptymalizowane komunikaty MTOM. Jeśli metoda setMTOMEnabled nie została ustawiona podczas wiązania, wszystkie dane binarne w węzłach treści binarnej są przekształcane do postaci szeregowej jako łańcuchy kodowane w standardzie Base64.

Serwlet klienta (org.apache.axis2.jaxws.sample.servlet.SampleServlet.java) nie zawiera kodu specyficznego dla usługi i wywołuje metody udostępniane w pliku SampleMTOMTests.java.

Klient udostępniony w tym przykładzie wywołuje usługę MTOM przy użyciu dwóch modeli programowania: modelu rozsyłania i modelu proxy. Klient ilustruje sposób korzystania z metod Dispatch (rozsyłania) i Proxy.

Więcej informacji na temat włączania usługi MTOM dla usług WWW JAX-WS można znaleźć w bibliotece Centrum informacyjnego serwera WebSphere Application Server.