Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Как создать web-сервис имея WSDL / 8 сообщений из 8, страница 1 из 1
20.02.2014, 15:33
    #38567674
Maxifly
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать web-сервис имея WSDL
Господа, помогите тупому новичку разобраться с JAX_WS

Имеется готовый WSDL. Необходимо создать под него web-сервис.

Я так понял, что можно сгенерировать необходимые классы с помощью wsimport.

Как с помощью wsimport создать клиента - я нашел. А как сервис - не нашел.

Ну и попутно следующие вопросы:

1. Вот допустим я создал сервис. Как его запустить и проверить что он работает.
2. Как прикрутить создание сервиса к MAVEN. (как прикрутить создание клиента - разобрался уже)



Люблю галеры - работящий коллектив, романтика мужского труда. Стоишь на мостике в пене брызг и эдак поворотясь:
- Голубчик! Утроить количество ударов - Али-паша уходит...
...
Рейтинг: 0 / 0
20.02.2014, 15:34
    #38567676
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать web-сервис имея WSDL
...
Рейтинг: 0 / 0
20.02.2014, 15:36
    #38567681
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать web-сервис имея WSDL
Maxifly1. Вот допустим я создал сервис. Как его запустить и проверить что он работает.

Задеплоить на сервер. Тестировать, например, через SOAP UI.

Maxifly2. Как прикрутить создание сервиса к MAVEN. (как прикрутить создание клиента - разобрался уже)

А зачем? Сервис не нужно генерить при каждой сборке. Он генерится в процессе разработки, только когда wsdl меняется.
...
Рейтинг: 0 / 0
20.02.2014, 15:55
    #38567719
Maxifly
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать web-сервис имея WSDL
Blazkowicz,

Насколько я понял, в приведенной Вами доке описывается подход "bottom-up":
создать классы веб сервиса и сгенерировать по ним wsdl файл.

Мне нужен обратный вариант (up-down): сгенерировать классы вэб-сервиса по имеющемуся wsdl файлу. Многие тьюториалы ссылаются на такую возможность, но не рассматривают ее.

По сопутсвующим вопросам:

1. "Задеплоить на сервер" - не понял, как это
2. Зачем пересобирать мавеном - насколько я понимаю, не стоит держать в проекте автоматически генерируемые объекты. Если изменится источник данных, на основе которых эти объекты генерятся, то при пересборке они станут другими, отваляться все тесты и это будет сразу заметно. Что есть хорошо. WSDL файл в моем случае не лежит где-то в Интернете, его мне спустит заказчик со словами, у вас должен быть такой сервис, а мы будем к нему обращаться. Время от времени он будет этот файл менять.
...
Рейтинг: 0 / 0
20.02.2014, 16:13
    #38567748
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать web-сервис имея WSDL
MaxiflyНасколько я понял, в приведенной Вами доке описывается подход "bottom-up":
создать классы веб сервиса и сгенерировать по ним wsdl файл.
Мне нужен обратный вариант (up-down): сгенерировать классы вэб-сервиса по имеющемуся wsdl файлу. Многие тьюториалы ссылаются на такую возможность, но не рассматривают ее.
wsimport вам уже сгенерил интерфейс сервиса. Вам нужно написать класс, который реализует этот интерфейс и навесить на него соответствующие аннотации, чтобы контейнер распознал что это класс - сервис.

Maxifly1. "Задеплоить на сервер" - не понял, как это

Всё там же "Building, Packaging, and Deploying the Service". Вы же не читаете, а сразу отбрасываете в сторону.
http://docs.oracle.com/javaee/6/tutorial/doc/bnayn.html#bnayr
С JEE вообще знакомы? Или первый раз столкнулись? В JEE есть понятие контейнера (сервера приложений) и модулей (самих приложений). Знакомы с ними?

Maxifly2. Зачем пересобирать мавеном - насколько я понимаю, не стоит держать в проекте автоматически генерируемые объекты.

Во-первых спорно. Во-вторых это обобщенное утверждение. Мы говорим о каких-то абстрактных генерируемых артифактах, или все же о серверной JAX-WS реализации SOAP сервиса? Ну, и в-третих реализация сервиса у вас тоже сама генерируется со всей логикой внутри?

Maxifly Если изменится источник данных, на основе которых эти объекты генерятся, то при пересборке они станут другими, отваляться все тесты и это будет сразу заметно.

Абстрактные разглагольствования. WSDL это источник данных у вас? WSDL это контракт. Вы предполагаете такой сценарий, что разработчик поменяет WSDL проекта, закомитит его. И проект при сборке навернется? Разработчик не достаточно смышленый чтобы перегенерить Java код самостоятельно?

MaxiflyЧто есть хорошо. WSDL файл в моем случае не лежит где-то в Интернете, его мне спустит заказчик со словами, у вас должен быть такой сервис, а мы будем к нему обращаться. Время от времени он будет этот файл менять.
Ещё не хватало чтобы вы генерили сервис по WSDL, который лежит где-то в интернете. Та WSDL что присылает заказчик это документация. А та WSDL, по которой генериться код, это уже артифакт проекта. И не надо давать заказчику комитить в этот артифакт напрямую.
...
Рейтинг: 0 / 0
20.02.2014, 16:59
    #38567825
Maxifly
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать web-сервис имея WSDL
Blazkowicz,

Я правильно понимаю, что wsimport
нагенерил:
1. классов одинаковых для клиента и сервера
2. интерфейса одинакового для клиента и сервера и помеченного аннотацией:
@WebService(name = "...", targetNamespace = "...")
3. реализации этого интерфейса, помеченного аннотацией:
@WebServiceClient(name = "...", targetNamespace = "...", wsdlLocation = "...")

Теперь я должен:
написать реализацию этого же интерфейса со стороны сервера.
добавить в нее аннотацию @WebService (ну и так далее как в пункте http://docs.oracle.com/javaee/6/tutorial/doc/bnayn.html#bnayq )

потом "задеплоить на сервер" ?

так?
...
Рейтинг: 0 / 0
20.02.2014, 17:07
    #38567843
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать web-сервис имея WSDL
...
Рейтинг: 0 / 0
20.02.2014, 17:09
    #38567845
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать web-сервис имея WSDL
Maxifly потом "задеплоить на сервер" ?

Черт. Я опять забыл что есть
Код: java
1.
Endpoint.publish(...)
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Как создать web-сервис имея WSDL / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]