Статьи

Начало работы с JAX-WS

JAX-WS означает Java API для веб-служб XML. Это API языка программирования Java для создания веб-сервисов и клиентов, которые взаимодействуют с использованием XML. Этот пост — быстрый старт для JAX-WS.

Предпосылки

GlassFish интегрирован с Eclipse .

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

1. В Eclipse создайте динамический веб-проект с именем com.eviac.blog.jaxwsproj. Сделайте GlassFish в качестве целевой среды выполнения.

2. Создайте новый класс под названием «SampleWS» в созданном проекте. Это будет класс реализации веб-сервиса.

SampleWS.java

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
package com.eviac.blog.jaxws.service;
 
import javax.jws.WebMethod;
import javax.jws.WebService;
 
@WebService
public class SampleWS {
 
 @WebMethod
 public int sum(int a, int b) {
  return a + b;
 }
 
 @WebMethod
 public int multiply(int a, int b) {
  return a * b;
 }
 
}

3. Откройте терминал и перейдите в корневой каталог проекта. Создайте каталог с именем wsdl внутри WebContent / WEB-INF /. Используйте следующую команду для создания артефактов веб-службы. Убедитесь, что ваш JAVA_ HOME установлен правильно, или эта команда не будет работать. Также убедитесь, что вы собрали проект перед запуском этой команды, иначе он пожалуется, что класс не найден

1
wsgen -classpath build/classes/ -wsdl -r WebContent/WEB-INF/wsdl -s src -d build/classes/ com.eviac.blog.jaxws.service.SampleWS

4. Обновите проект, чтобы обнаружить созданные артефакты. Откройте созданный WSDL-файл в папке wsdl. Найдите REPLACE_WITH_ACTUAL_URL и замените его URL-адресом веб-службы: http: // localhost: 8080 / com.eviac.blog.jaxwsproj / SampleWSService и сохраните файл.

5. Разверните проект в Glassfish, щелкнув правой кнопкой мыши проект, выберите «Запуск от имени» -> «Выполнить на сервере» и выберите сервер Glassfish.



Создание клиента JAX-WS

1. Создайте Java-проект в eclipse под названием ‘com.eviac.blog.jaxwsclientproj’. Откройте новый терминал и перейдите в корень проекта. Используйте следующую команду, чтобы сгенерировать классы, необходимые для доступа к веб-службе. Здесь вам нужно будет использовать URL-адрес файла WSDL.

1
wsimport -s src -d bin http://localhost:8080/com.eviac.blog.jaxwsproj/SampleWSService?wsdl

2. Создайте новый класс с именем ‘SampleWSClient’ в проекте.


SampleWSClient.java

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
package com.eviac.blog.jaxws.client;
 
import javax.xml.ws.WebServiceRef;
 
import com.eviac.blog.jaxws.service.SampleWS;
import com.eviac.blog.jaxws.service.SampleWSService;
 
public class SampleWSClient {
 
 private static SampleWSService Samplews;
 
 public static void main(String[] args) {
  SampleWSClient wsClient = new SampleWSClient();
  wsClient.run();
 }
 
 public void run() {
  Samplews = new SampleWSService();
  SampleWS port = Samplews.getSampleWSPort();
  System.out.println('multiplication Result= '+ port.multiply(10, 20));
  System.out.println('Addition Result= '+port.sum(10, 20));
 }
 
}

3. Щелкните правой кнопкой мыши по проекту и выберите «Запуск от имени» -> «Приложение Java». Это приведет к следующему.

1
2
multiplication Result= 200
Addition Result= 30

Ссылка: Начало работы с JAX-WS от нашего партнера JCG Павитры Сиривардены в блоге EVIAC .