Предпосылки
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;@WebServicepublic 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 { @WebServiceRef(wsdlLocation = 'http://localhost:8080/com.eviac.blog.jaxwsproj/SampleWSService?wsdl') 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= 200Addition Result= 30 |
Ссылка: Начало работы с JAX-WS от нашего партнера JCG Павитры Сиривардены в блоге EVIAC .









