FeaturesPluginsDocs & SupportCommunityPartners

Передача двоичных данных с помощью приложения веб-службы, часть 7: протоколирование и оптимизация службы

JAX-WS обеспечивает простой и эффективный способ оптимизации передачи двоичных данных. Этот способ известен как "оптимизация сообщений" и предоставляется механизмом оптимизации передачи сообщений (MTOM). Оптимизация сообщений сводится к процессу передачи сообщений веб-службы наиболее эффективным способом. Для этого сообщения, передаваемые веб-службой, кодируются перед передачей, а затем декодируются по достижении конечного адресата. При работе с MTOM для прямой и обратной передачи двоичных данных веб-службы используется оптимизированная упаковка двоичных данных XML (XOP). Проектировщик веб-служб упрощает добавление MTOM, как показано в этом разделе и описано в этом документе.

Руководства этой учебной карты

Содержимое на этой странице относится к среде IDE NetBeans 6.1
  1. Обзор
  2. Создание модуля EJB
  3. Создание веб-службы
  4. Тестирование веб-службы
  5. Изменение файлов схемы и WSDL для передачи двоичных файлов
  6. Создание клиента Swing
  7. => Протоколирование и оптимизация веб-службы

Протоколирование и оптимизация веб-службы

Для проверки правильности функционирования MTOM в дальнейшем начнем с настройки механизма протоколирования на сервере. Это позволит контролировать сообщения запросов и ответов без изменения кода клиента. Передайте свойство системы -Dcom.sun.xml.ws.transport.http.HttpAdapter.dump=true на сервер; в результате становится возможным контроль сообщений SOAP, а также заголовков HTTP, передаваемых и получаемых веб-службой от клиента.

Протоколирование и оптимизация веб-службы:

  1. Откройте консоль администратора из узла сервера в окне "Services", как показано на рисунке:
    Приложение на Java с потребляемой веб-службой

    В обозревателе откроется консоль администратора. Введите имя пользователя и пароль и нажмите клавишу Enter.

  2. В консоли администратора установите на сервере следующее свойство в разделе "JVM Options":
    -Dcom.sun.xml.ws.transport.http.HttpAdapter.dump=true

    Приложение на Java с потребляемой веб-службой
  3. В диалоговом окне "Services" перезапустите сервер.
  4. Пока сервер запускается, проверьте данные в окне "Output" и убедитесь в том, что рассматриваемое свойство присутствует среди прочих данных, выводимых сервером, как показано ниже:
    Приложение на Java с потребляемой веб-службой
  5. Повторно разверните приложение уровня предприятия в приложение "Tester", вызовите операцию через приложение "Tester" и снова взгляните на окно "Output", в котором показаны запросы и ответы HTTP, что обеспечивается благодаря механизму протоколирования, который был включен при выполнении предыдущих действий:
    Приложение на Java с потребляемой веб-службой

    Теперь, протоколирование HTTP работает правильно, и можно оптимизировать передачу сообщений при работе с изображениями.

  6. Откройте веб-службу в средстве визуального проектирования веб-служб и выберите "Optimize Transfer of Binary Data (MTOM)":
    Приложение на Java с потребляемой веб-службой
  7. В диалоговом окне "Services" перезапустите сервер.
  8. Пока сервер запускается, обратите внимание на следующий текст в окне "Output":
    Приложение на Java с потребляемой веб-службой

    Как указано в выделенных строках в окне "Output", при использовании MTOM исключается размещение двоичных данных в теле SOAP. Вместо этого данные передаются в виде вложения SOAP, а вложение добавляется в сообщение SOAP.



  9. Дополнительная информация

    Для получения дополнительных сведений об использовании IDE NetBeans 6.1 для разработки приложений для Java EE см. следующие материалы:

    Оставить комментарии и предложения, обратиться за поддержкой и получить информацию о последних достижениях в области функциональных возможностей разработки для Java EE с помощью среды IDE NetBeans можно в списке рассылки .

Companion
Projects:
MySQL Database Server   Open JDK: an Open SourceJDK   GlassFish Community: an Open Source Application Server    Mobile & Embedded Community    Open Solaris   java.net - The Source for Java Technology Collaboration   Virtual Box - full virtualizer  Open ESB - The Open Enterprise Service Bus Powered by