Web-службы JAX-WS |
|
|
![]() |
|
Запуск | Настройка | Комментарии | Javadoc | Компоновка с помощью Ant |
Начало работы |
Расположение исходного кода |
Просмотр примечаний |
Этот пример демонстрирует применение SOAP Message Transmission Optimization Mechanism (MTOM) для передачи двоичных файлов с помощью Web-службы JAX-WS.
Пример службы MTOM реализует Web-службу, возвращающую клиенту содержимое файла в двоичном формате. Пример содержит клиент сервлета, org.apache.axis2.jaxws.sample.servlet.SampleServlet, и приложение простого клиента службы MTOM, org.apache.axis2.jaxws.sample.mtom.SampleMTOMTests. Сервлет клиента службы и приложение простого клиента используют стандартный код для работы со службой с помощью клиентов диспетчеризации и на базе proxy из файла исходного кода SampleMTOMTests.java.
Код Java для указанного сервлета клиента службы MTOM и приложения простого клиента находятся в каталоге каталог-профайла/samples/src/JaxWSServicesSamples/SampleMTOMClient/src.
Код Java для приложения службы MTOM находится в каталоге каталог-профайла/samples/src/JaxWSServicesSamples/SampleMTOMService/src.
В операционных системах z/OS: Для системы z/OS исходный код примеров JAX-WS не поставляется, поскольку приложения примеров для данной системы не скомпонованы.
Пример службы MTOM был создан с помощью Rational Application Developer из двух файлов Web Services Description Language (WSDL), содержащих описания служб. Одна из конечных точек службы использует SOAP 1.1, вторая - SOAP 1.2. Сервер автоматически определяет входящие сообщения MTOM с помощью тега content-type и соответствующим образом преобразует их. Таким образом, в примере службе MTOM отсутствует явный код для обработки MTOM в службах.
Перед выполнением служебных транзакций на стороне клиента необходимо активировать MTOM. В приложении простого клиента службы MTOM, org.apache.axis2.jaxws.sample.mtom.SampleMTOMTests.java, в методах testMtomWithDispatch и testMtomWithProxy применяется вызов метода setMTOMEnabled для связывания. После вызова этого метода исходящие сообщения преобразуются в оптимизированные сообщения MTOM. Если метод setMTOMEnabled не задан, все двоичные данные в узлах двоичного содержимого преобразуются в строки Base64.
Сервлет клиента org.apache.axis2.jaxws.sample.servlet.SampleServlet.java не содержит код службы и вызывает методы, указанные в файле SampleMTOMTests.java.
Клиент, указанный в этом примере, использует для вызова службы MTOM модели программирования dispatch и proxy. Клиент демонстрирует принцип доступа к методам dispatch и proxy.
Дополнительная информация об активации MTOM для Web-служб JAX-WS приведена в Библиотеке WebSphere Application Server Information Center.