Предпосылки 
 
  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 .









