Початок роботи з веб-службами JAX-WS – навчальний курс з IDE NetBeans

API-інтерфейс Java для веб-служб XML (JAX-WS), JSR 224 є важливим компонентом платформи Java EE. Наступний випуск інтерфейсу API Java для RPC на основі XML 1.1 (JAX-RPC), JAX-WS полегшує завдання розробки веб-служб за допомогою технології Java. У ньому вирішено деякі проблеми JAX-RPC 1.1, і забезпечується підтримка кількох протоколів, наприклад SOAP 1.1, SOAP 1.2, XML, і навіть можливість підтримки додаткових протоколів поруч із HTTP. JAX-WS для прив'язки даних використовується JAXB 2.0; також підтримується індивідуальне налаштування для керування інтерфейсами створюваних інтерфейсів кінцевих точок служб. Підтримка анотацій у JAX-WS спрощує розробку веб-служб та зменшує розмір архівів JAR.

У цьому документі наведено основні принципи використання середовища IDE для розробки веб-служби JAX-WS. Після створення веб-служби буде написано три різних клієнта веб-служб, які використовують веб-службу через мережу, тобто. "які споживають" веб-службу. Цими трьома клієнтами будуть клас Java у додатку для Java SE, сервлет та сторінка JSP у веб-додатку.

Створення веб-служби

Мета цієї вправи полягає у створенні проекту відповідно до використовуваного контейнера розгортання. Після створення проекту буде створено веб-службу.

Вибір контейнера

Веб-служба може бути розгорнута у веб-контейнері або контейнері EJB. Це від конкретної реалізації. Під час створення програми Java EE завжди використовуйте веб-контейнер, оскільки це дозволяє помістити компоненти EJB безпосередньо на веб-додаток. Наприклад, якщо розгортання планується на веб-сервері Tomcat, який надає лише веб-контейнер, слід створювати веб-додаток, а не модуль EJB.

Створення веб-служби з класу Java

Додавання операції до веб-служб

Метою цієї вправи є додавання до веб-служб операції, яка виконує додавання двох чисел, отриманих від клієнта. IDE NetBeans забезпечує діалогове вікно додавання операції з веб-службою. Це діалогове вікно можна відкрити у візуальному конструкторі, або в контекстному меню веб-служби.

Увага!У проектах Maven візуальний конструктор недоступний.

Для додавання операції до веб-служби виконайте такі дії.

  • Знайдіть веб-службу у вікні "Проекти". Клацніть правою кнопкою миші вузол. Відкриється контекстне меню.
  • Натисніть кнопку "Додати операцію" або у візуальному конструкторі, або в контекстному меню. Відкриється діалогове вікно "Додавання операції".
  • У верхній частині діалогового вікна "Додати операцію" введіть add в 'Ім'я' і введіть int в розкривний список "Тип значення, що повертається".
  • У нижній частині діалогового вікна "Додати операцію" натисніть кнопку "Додати" та створіть параметр типу int з ім'ям i.
  • Знову клацніть "Додати" та створіть параметр типу int з ім'ям j.
  • На екрані мають бути представлені такі параметри:

    Тепер у Visual Designer відображається таке:

    Натисніть кнопку "Вихідний код" та подивіться на код, створений у результаті попередніх дій. Він буде відрізнятися залежно від того, як створено службу: як компонент Java EE без збереження стану або звичайним способом. Зверніть увагу на різницю у знімках екрана нижче: (Служба Java EE 6 або Java EE 7, не реалізована як компонент без збереження стану, схожа на службу Java EE 5.)

    Примітка. При роботі в IDE NetBeans 7.3 та 7.4 ви побачите, що у створенійАнотація @WebService ім'я служби вказано явно: @WebService(serviceName = "CalculatorWS").

    Як видно із зазначеного коду, веб-служба просто отримує два числа і потім повертає їхню суму. У наступному розділі розглядається тестування веб-служби у середовищі IDE.

    Розгортання та тестування веб-служби

    Після розгортання веб-служби на сервері можна використовувати середовище IDE для відкриття клієнта тестування сервера, якщо сервер має такий клієнт. Сервери GlassFish та WebLogic надають тестові клієнти.

    Для перевірки успішності розгортання на сервері GlassFish або WebLogic виконайте такі дії.

    1. Клацніть правою кнопкою миші проект і виберіть "Розгорнути". Запускається сервер додатків, виконується складання та розгортання програми на сервері додатків. За ходом виконання цих операцій можна спостерігати у програмі CalculatorWSApplication (запуск-розгортання) та на вкладках серверів GlassFish або Tomcat у вікні виводу.
    2. На вкладці "Проекти IDE" розгорніть вузол "Веб-служби" проекту "CalculatorWSApplication". Клацніть правою кнопкою миші вузол CalculatorWS і виберіть Тестувати веб-службу.

    Сторінка тестування відкривається у браузері, якщо веб-програма розгорнута на сервері GlassFish. У разі використання веб-сервера Tomcat та розгортання модулів EJB ситуація відрізняється:

      Якщо розгортання виконувалося на GlassFish, введіть на сторінці тестування два числа, як показано нижче:

    Відображається сума цих двох чисел:

    Можна відкрити повну версію компонента Java EE без збереження стану служби Calculator. Для цього виберіть Файл > Створити проект (Ctrl-Shift-N у Linux та Windows, ⌘ + Shift + N у MacOS) таперейдіть до розділу Зразки > Веб-служби Java > Calculator (EE6).

    Служба та клієнт калькулятора Maven доступні в пункті "Приклади Maven".

    Використання веб-служби

    Після успішного розгортання веб-служби необхідно створити клієнт для використання методу веб-служби add. Нижче буде розглянуто створення трьох клієнтів: класу Java у програмі Java SE, сервлета та сторінки JSP у веб-додатку.

    Клієнт 1: клас Java у додатку Java SE

    У цьому розділі буде розглянуто створення стандартної програми Java. Майстер, який використовується для створення програми, також створює клас Java. Потім засоби середовища IDE будуть використовуватися для створення клієнта та використання веб-служби, створеної на початку цього посібника.

    У вікні "Проекти" з'явиться новий клієнт веб-служби з вузлом для створеного методу add:

    На екрані мають бути представлені такі параметри:

    Тепер у вікні "Висновок" відображається сума:

    Клієнт 2: сервлет у веб-додатку

    У цьому розділі буде розглянуто створення нової веб-програми та подальше створення сервлета. Потім цим сервлетом використовуватиметься веб-служба, створена на початку цього навчального курсу.

    З'явиться майстер створення клієнта веб-служби.

  • В якості джерела WSDL виберіть "Проект" та натисніть кнопку "Огляд", щоб відкрити діалогове вікно "Огляд веб-служб".
  • У проекті CalculatorWSApplication виберіть веб-службу CalculatorWS. Натисніть кнопку OK, щоб закрити діалогове вікно "Огляд веб-служб".
  • Залиште поле "Ім'я пакета" в майстрі створення клієнтів веб-служби порожнім і не змінюйте значення інших параметрів, задані за замовчуванням. Натисніть "Готово".
  • Вузол "Посилання на веб-службу" у вікні "Проекти" відображаєструктуру щойно створеного клієнта, включаючи операцію add, розглянуту раніше у цьому навчальному курсі.

  • Додайте код, який ініціалізує значення i і j, викликає add() і роздруковує результат. Доданий код виділяєтьсянапівжирним зображенням:
  • Оточіть доданий код блоком try/catch, який друкує виняток.
  • Клацніть правою кнопкою миші вузол проекту та виберіть "Виконати".
  • Запускається сервер, виконується складання та розгортання програми, і відкривається браузер, в якому відображається результат обчислення, як показано нижче:

    Клієнт 3: сторінка JSP у веб-застосунку

    У цьому розділі описано процедуру створення нової програми та використання веб-служби на сторінці JSP за промовчанням, створеної за допомогою майстра "Веб-додаток".

  • Як ім'я файлу JSP у майстрі створення файлів вкажітьindex. Натисніть "Готово".
  • Клацніть правою кнопкою миші вузол CalculatorWSJSPClient і оберіть "Створити Клієнт веб-служби".
  • Виберіть проект як вихідний файл WSDL. Натисніть кнопку "Огляд". У проекті CalculatorWSApplication перейдіть до веб-служби CalculatorWS. Виберіть веб-службу та натисніть кнопку "ОК".
  • Не вибирайте назву пакета. Залишіть це поле порожнім.
  • Залишіть значення інших параметрів за замовчуванням та натисніть кнопку "Готово".
  • У вікні "Проекти" з'явиться новий клієнт веб-служби, як показано нижче:

  • У розділі "Посилання на веб-служби" розгорніть вузол, який відповідає веб-службі. Тепер показано операцію add, яку потрібно викликати за допомогою клієнта.
  • Перетягніть операцію add на сторінку клієнта index.jsp нижче за теги H1. Тепер на сторінці index.jsp відображається код для виклику операції служби,показаний нижче:
  • Клацніть правою кнопкою миші вузол проекту та виберіть "Виконати".

    Запуск сервера, якщо він не був запущений раніше. Після складання та розгортання програми відкривається браузер, в якому відображається результат обчислення: