|
|
|
Как создать web-сервис имея WSDL
|
|||
|---|---|---|---|
|
#18+
Господа, помогите тупому новичку разобраться с JAX_WS Имеется готовый WSDL. Необходимо создать под него web-сервис. Я так понял, что можно сгенерировать необходимые классы с помощью wsimport. Как с помощью wsimport создать клиента - я нашел. А как сервис - не нашел. Ну и попутно следующие вопросы: 1. Вот допустим я создал сервис. Как его запустить и проверить что он работает. 2. Как прикрутить создание сервиса к MAVEN. (как прикрутить создание клиента - разобрался уже) Люблю галеры - работящий коллектив, романтика мужского труда. Стоишь на мостике в пене брызг и эдак поворотясь: - Голубчик! Утроить количество ударов - Али-паша уходит... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2014, 15:33 |
|
||
|
Как создать web-сервис имея WSDL
|
|||
|---|---|---|---|
|
#18+
Maxifly1. Вот допустим я создал сервис. Как его запустить и проверить что он работает. Задеплоить на сервер. Тестировать, например, через SOAP UI. Maxifly2. Как прикрутить создание сервиса к MAVEN. (как прикрутить создание клиента - разобрался уже) А зачем? Сервис не нужно генерить при каждой сборке. Он генерится в процессе разработки, только когда wsdl меняется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2014, 15:36 |
|
||
|
Как создать web-сервис имея WSDL
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, Насколько я понял, в приведенной Вами доке описывается подход "bottom-up": создать классы веб сервиса и сгенерировать по ним wsdl файл. Мне нужен обратный вариант (up-down): сгенерировать классы вэб-сервиса по имеющемуся wsdl файлу. Многие тьюториалы ссылаются на такую возможность, но не рассматривают ее. По сопутсвующим вопросам: 1. "Задеплоить на сервер" - не понял, как это 2. Зачем пересобирать мавеном - насколько я понимаю, не стоит держать в проекте автоматически генерируемые объекты. Если изменится источник данных, на основе которых эти объекты генерятся, то при пересборке они станут другими, отваляться все тесты и это будет сразу заметно. Что есть хорошо. WSDL файл в моем случае не лежит где-то в Интернете, его мне спустит заказчик со словами, у вас должен быть такой сервис, а мы будем к нему обращаться. Время от времени он будет этот файл менять. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2014, 15:55 |
|
||
|
Как создать web-сервис имея WSDL
|
|||
|---|---|---|---|
|
#18+
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, по которой генериться код, это уже артифакт проекта. И не надо давать заказчику комитить в этот артифакт напрямую. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2014, 16:13 |
|
||
|
Как создать web-сервис имея WSDL
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, Я правильно понимаю, что wsimport нагенерил: 1. классов одинаковых для клиента и сервера 2. интерфейса одинакового для клиента и сервера и помеченного аннотацией: @WebService(name = "...", targetNamespace = "...") 3. реализации этого интерфейса, помеченного аннотацией: @WebServiceClient(name = "...", targetNamespace = "...", wsdlLocation = "...") Теперь я должен: написать реализацию этого же интерфейса со стороны сервера. добавить в нее аннотацию @WebService (ну и так далее как в пункте http://docs.oracle.com/javaee/6/tutorial/doc/bnayn.html#bnayq ) потом "задеплоить на сервер" ? так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2014, 16:59 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=38567681&tid=2127616]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
162ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
| others: | 252ms |
| total: | 516ms |

| 0 / 0 |
