corner imagecorner image
FeaturesPluginsDocs & SupportCommunityPartners

Создание веб-служб Apache Axis2 в среде IDE NetBeans

Это руководство посвящено созданию и развертыванию веб-службы Apache Axis2 из класса Java. Также рассматривается настройка серверов Tomcat и GlassFish, входящих в комплект поставки среды IDE NetBeans, для развертывания веб-служб Axis2. Кроме того, в руководстве показана настройка параметров Axis2 в среде IDE для обеспечения правильного развертывания веб-служб Axis2.

Apache Axis представляет собой реализацию SOAP (простой протокол доступа к объектам), представленного к рассмотрению консорциумом W3C. Apache Axis2 – более эффективная, более модульная и более ориентированная на XML версия Axis. В Axis2 не только поддерживается SOAP 1.1 и SOAP 1.2, но также интегрирована поддержка веб-служб RESTful. Одна и та же реализация рабочей логики может одновременно обладать как интерфейсом WS-*, так и интерфейсом REST/POX. Для получения дополнительных сведений об Axis2 см. веб-сайт Apache.org.

Веб-службы Axis2 способны к взаимодействию с Metro. Для веб-службы Axis2 можно создать клиент JAX-WS, однако некоторые более сложные операции WSDL Axis2 могут не поддерживаться.

Содержание

Содержимое на этой странице относится к среде IDE NetBeans 6.1

Для работы с этим руководством требуется программное обеспечение и ресурсы, перечисленные ниже.

Программное обеспечение или ресурс Требуемая версия
Среда IDE NetBeans версия 6.1
Комплект для разработчика на языке Java (JDK) версия 6 или
версия 5
Apache Axis 2 версия 1.3 или выше
Apache Ant, установленный и
добавленный в путь
последняя версия
Веб-сервер или сервер приложений, совместимый с Java EE Веб-сервер Tomcat 6.0 и/или
Сервер приложений GlassFish v2

Серверы Tomcat и GlassFish могут быть установлены при помощи дистрибутива "Web and Java EE" среды IDE NetBeans. Также можно воспользоваться страницей загрузок GlassFish или страницей загрузок Apache Tomcat.

Для работы с этим руководством также требуется подключаемый модуль поддержки Axis2. В среде IDE перейдите в диспетчер подключаемых модулей в меню "Tools" и на вкладке "Installed" проверьте, установлен ли подключаемый модуль поддержки Axis2. Если нет, установите его на вкладке "Available Plugins", как показано ниже:

Пример экрана диспетчера подключаемых модулей, показан подключаемый модуль поддержки Axis2

Установка Apache Axis2 и Apache Ant

Как Apache Axis2, так и Apache Ant загружаются в виде архивных файлов. Axis2 можно загрузить здесь, а Ant – здесь. Для установки этих программ необходимо распаковать загруженные архивы в папки по выбору. Далее по тексту каталоги установки называются AXIS2_HOME и ANT_HOME соответственно. После установки Ant путь к каталогу ANT_HOME/bin необходимо добавить в путь к классам.

Создание и копирование файла WAR Axis2

Для развертывания веб-служб Axis2 на сервер приложений на сервере требуется копия файла axis2.war (Web ARchive). Файл axis2.war можно создать путем запуска Apache Ant в каталоге установки Axis2. Скопируйте созданный файл axis2.war в базовый каталог Tomcat и GlassFish.

Создание и копирование файла WAR Axis2:

  1. Перейдите к AXIS2_HOME/webapp. Откройте командную строку в этом каталоге и выполните команду ant. На основе файла AXIS2_HOME/webapp/build.xml в Ant создается файл AXIS2_HOME/dist/axis2.war. В путь к классам должен входить каталог ANT_HOME/bin.
  2. Скопируйте файл AXIS2_HOME/dist/axis2.war в каталог Tomcat CATALINA_BASE/webapps. Если местоположение CATALINA_BASE неизвестно, запустите среду IDE и откройте вкладку "Services". Разверните узел "Servers". Щелкните правой кнопкой мыши узел "Tomcat 6.0" и выберите из контекстного меню "Properties". Местоположение "Catalina Base" показано на вкладке "Connection".
    Экран "Tomcat Properties", показано местоположение "Catalina Base"
  3. Скопируйте AXIS2_HOME/dist/axis2.war в GLASSFISH_HOME/domains/DOMAIN_NAME/autodeploy. Для определения местоположения GLASSFISH_HOME и имени области запустите среду IDE и откройте вкладку "Services". Разверните узел "Servers". Щелкните правой кнопкой мыши узел "GlassFish V2" и выберите из контекстного меню "Properties". Местоположение папки "Domains" и имя области показаны на вкладке "Connection". Например, из следующего рисунка видно, что axis2.war требуется скопировать в C:\Program Files\glassfish-v2ur1\domains\domain1\autodeploy.
    Страница свойств GlassFish, показан путь к каталогу областей GlassFish и имя области

Настройка параметров Axis2 для Tomcat

Производительность служб Axis на Tomcat выше, чем на GlassFish, однако процедура настройки несколько сложнее. Одну и ту же службу несложно развернуть и на Tomcat, и на GlassFish – для этого достаточно развернуть ее на одном из серверов, затем изменить параметры настройки Axis2 и развернуть службу на другом сервере.

Если требуется развертывание на GlassFish вместо Tomcat, перейдите к разделу Настройка параметров Axis2 для GlassFish.

Настройка параметров Axis2 для Tomcat

  1. Запустите среду IDE. В главном меню выберите "Tools -> Options". Откроется диалоговое окно "Options".
  2. Щелкните значок "Axis2". Откроется страница параметров развертывания Axis2.
    Страница "Axis2 Options" для Tomcat
  3. Укажите в качестве целевого каталога для файлов AAR Axis2 каталог CATALINA_BASE (не TOMCAT_HOME) webapps/axis. Местоположение каталога CATALINA_BASE можно определить из свойств "Tomcat Servers" в соответствии с описанием в разделе Создание и копирование файла WAR Axis2.

  4. Убедитесь, что в поле "Axis 2 URL" указан правильный номер порта сервера Tomcat. Для проверки номера порта запустите Tomcat (из вкладки "Services" или в меню "Tools -> Servers") и проверьте порт, назначенный для "Coyote HTTP/1.1".
    Выходные данные Tomcat, указан номер порта HTTP Coyote
  5. Для удобства выберите "Use Tomcat Manager for Deployment". При выборе этой функции при каждом изменении axis2.war в фоновом режиме вызывается диспетчер Tomcat и для файла axis2.war выполняется команда reload. Если параметр "Use Tomcat Manager for Deployment" не установлен, при каждом изменении axis2.war придется запускать диспетчер Tomcat вручную или перезагружать файл с помощью других средств Tomcat.

    Имя пользователя для диспетчера Tomcat по умолчанию – "tomcat", а пароль по умолчанию – также "tomcat". Для дополнительной проверки развертывания диспетчера Tomcat и проверки назначения имени пользователя роли диспетчера и пароля по умолчанию откройте файл CATALINA_BASE/conf/tomcat-users.xml. В нем должна быть определена роль диспетчера, и ей должны быть назначены имя пользователя и пароль, как в следующей версии файла. (Этот файл при необходимости можно скопировать и вставить.)

    <?xml version='1.0' encoding='utf-8'? >
    <tomcat-users>
      <role rolename="manager"/>
      <role rolename="admin"/>
      <user username="tomcat" password="tomcat" roles="manager,admin"/>
      <user username="ide" password="YENnS8UT" roles="manager,admin"/>
    </tomcat-users>
                

Настройка параметров Axis2 для GlassFish

Веб-службы Axis2 можно развернуть на сервере приложений GlassFish, однако Tomcat отличается гораздо более высокой производительностью. Одну и ту же службу несложно развернуть и на Tomcat, и на GlassFish – для этого достаточно развернуть ее на одном из серверов, затем изменить параметры настройки Axis2 и развернуть службу на другом сервере.

Если требуется развертывание на Tomcat вместо GlassFish, перейдите к разделу Настройка параметров Axis2 для Tomcat.

Настройка параметров Axis2 для GlassFish:

  1. Запустите среду IDE. В главном меню выберите "Tools -> Options". Откроется диалоговое окно "Options".
  2. Щелкните значок "Axis2". Откроется страница параметров развертывания Axis2.
    Страница "Axis2 Options" для GlassFish
  3. Укажите в качестве целевого каталога для файлов AAR Axis2 каталог GLASSFISH_HOME/domains/DOMAIN_NAME/autodeploy. Местоположение каталога GLASSFISH_HOME можно определить из свойств "GlassFish Servers" в соответствии с описанием в разделе Создание и копирование файла WAR Axis2.

    Примечание: Размещение файла axis2.war в каталоге autodeploy позволяет GlassFish автоматически развертывать файл axis2.war при каждом изменении.

  4. Убедитесь, что в поле "Axis 2 URL" указан правильный номер порта сервера GlassFish. Для проверки номера порта запустите GlassFish (с вкладки "Services" или в меню "Tools -> Servers") и проверьте порт 80xx, назначенный для HTTP/1.1. На следующем рисунке правильный номер порта – 8081:
    Выходные данные GlassFish, указан номер порта HTTP 8081

Примечание: Если используется Windows Vista, сервер GlassFish установлен в "Program Files" и включена функция "User Access Control", внести изменения в файл axis2.war из среды IDE невозможно. Установите GlassFish в другой каталог или отключите функцию UAC.

Создание веб-службы Axis2

В среде IDE NetBeans веб-службу Axis2 можно создать из класса Java. Это возможно только для проекта приложения на Java или библиотеки Java. Настоящее руководство посвящено созданию проекта библиотеки Java (поскольку главный метод не требуется), созданию веб-службы Axis2 в этом проекте (одновременно создается класс Java) и развертыванию веб-службы Axis2 на сервере.

Создание и развертывание веб-службы Axis2:

  1. Щелкните значок "New Project" или выберите в меню "File -> New Project". Откроется мастер создания проекта. Выберите проект библиотеки классов Java в категории "Java". Нажмите кнопку "Next".
  2. Присвойте проекту имя AxisHello. Убедитесь, что используется правильное имя и местоположение папки проекта. Решение о необходимости совместного использования проекта принимается разработчиком. Нажмите кнопку "Finish" для создания проекта.
  3. Щелкните правой кнопкой мыши узел проекта. Откроется контекстное меню. Выберите в контекстном меню "New -> Other". Открывается мастер создания файла. Выберите "Axis2 Service from Java" из категории "Web Services" и нажмите кнопку "Next".
    Выбор создания службы Axis2 из Java в мастере создания файла
  4. Открывается страница мастера создания файла "Service Type Selection". В проекте отсутствуют классы Java, поэтому выберите "Create an Empty Web Service". Если класс Java уже разработан, можно установить переключатель "Create a Web Service from an Existing Java Class". Если требуется изменить WSDL веб-службы, например, добавить или изменить пространства имен, следует установить переключатель "Generate a WSDL from Java Source Code". Изменение WSDL выходит за рамки данного руководства, поэтому устанавливать этот переключатель здесь не требуется. Мастер должен выглядеть следующим образом:
    Страница "Service Type Selection", установлен переключатель "Create an Empty Web Service"
  5. Нажмите кнопку "Next". Откроется страница "Name and Location". Назовите класс Java "HelloAxisWorld". Присвойте пакету имя "axishello". Параметр "Generate Sample Method" должен быть установлен. В результате создается метод в классе Java, возвращающий "Hello, World".
  6. Нажмите кнопку "Finish". В среде IDE создается класс HelloAxisWorld.java в пакете исходного кода "axishello" и веб-служба Axis2 "HelloAxisWorld", на которую отображен этот класс Java. Можно заметить, что и в классе Java, и в веб-службе Axis2 имеется операция "hello:String", показанная на вкладке "Navigator" и в виде узла в веб-службе Axis2 соответственно.
    Вкладки "Navigator" и "Project", показаны идентичные операции веб-службы Axis2 и класса Java

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

Созданную веб-службу Axis2 необходимо развернуть на сервере. Фактически развертывание на сервере сводится к двум действиям:

  1. Копирование веб-службы Axis2 в файл "axis2.war" используемый сервером. Это действие может выполняться при неработающем сервере.
  2. Повторное развертывание на сервере обновленного файла "axis2.war".

Если развертывание выполняется на сервере Tomcat с включенным параметром "Use Tomcat Manager for Deployment" (см. раздел Настройка параметров Axis2 для Tomcat) или на сервере GlassFish с файлом axis2.war в папке GLASSFISH_DOMAIN/autodeploy (см. Настройка параметров Axis2 для GlassFish), обновленный файл axis2.war автоматически повторно развертывается на сервере. В противном случае повторное развертывание файла axis2.war выполняется вручную с помощью средств сервера приложений. В этом руководстве предполагается настройка параметров Axis2, так что повторное развертывание выполняется автоматически.

Развертывание веб-службы Axis2 на сервере:

  1. Щелкните узел веб-службы правой кнопкой мыши. Откроется контекстное меню. Выберите "Deploy to Server". Файл "AAR" Axis2 компилируется и копируется в файл axis2.war, используемый сервером приложений.
  2. Если включено автоматическое развертывание, веб-служба развертывается на сервере. Если сервер не запущен, автоматическое развертывание выполняется при запуске.
  3. Для тестирования службы разверните узел веб-службы и разверните соответствующие операции. Щелкните правой кнопкой мыши узел "hello:String" и выберите "Test Operation in Browser".
    Контекстное меню подузла операции, показан пункт "Test Operation in Browser"
  4. В результате открывается обозреватель с тестовыми значениями переменных. Тестовое значение добавляется к URL-адресу.
    Окно обозревателя с результатами тестирования операции, к URL-адресу добавлены тестовые значения
  5. Измените значение переменной в URL-адресе и нажмите клавишу Enter. При этом изменяется и результат тестирования.
    Окно обозревателя с результатами тестирования операции и измененными значениями

Изменение операций веб-службы

Для изменения операций веб-службы необходимо изменить файл Java в проекте. Одновременно изменяются и операции веб-службы. Добавьте к HelloAxisWorld.java простой метод add, как показано ниже:

public class HelloAxisWorld {

    /** Sample method
    */
    public String hello(String name) {
        return "Hello "+name;
    }
    public int add(int x, int y) {
            return x+y;
    }
        }

После сохранения файла Java операция выводится в качестве подузла веб-службы.
Вкладка "Projects", показан новый подузел операции для веб-службы

Повторно разверните веб-службу и протестируйте ее, как описано в разделе Развертывание и тестирование веб-службы Axis2.

Дополнительные упражнения

Вот еще несколько примеров для рассмотрения:



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

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

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

Companion
Projects:
MySQL Database Server   GlassFish Community: an Open Source Application Server   Open Solaris  Open JDK: an Open SourceJDK   Mobile & Embedded Community     Sponsored by 
Sponsored by Sun Microsystems