![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
Souljah |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 148 Регистрация: 24.12.2004 Репутация: 3 Всего: 7 |
Всем привет!
Бразас, нужен совет. Пишу вебсервис с использованием axis. Сгенерировал по wsdl клиентскую часть, дергаю вызов - получаю сообщение о невозможности десеарилизовать тип на сервере. Ну это понятно, для каждого использумого javabean следует прописать прописать секцию <beanMapping... /> в wsdd. Все бы ничего, но сервис обменивается с клиентами сложными иерархиями с кучей объектов, и вбивать ручками для каждого типа beanMapping-маркер совсем не улыбается. Нет какого-нть способа автоматизировать этот процесс? Спасибо. |
|||
|
||||
Foo |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 164 Регистрация: 20.10.2006 Репутация: 1 Всего: 3 |
использовать Axis2, там wsdl генерируется автоматически.
Тогда, думаю генерация wsdl это самая простая проблема с которой придет столкнуться во время использования Axis. --------------------
qip |
|||
|
||||
Souljah |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 148 Регистрация: 24.12.2004 Репутация: 3 Всего: 7 |
Генерация wsdl вообще не проблема, так как выполняется аксисом автоматически для любого задеплоенного сервиса.
Тут как раз все устривает, и сгенерированная по wsdl иерархия соответствует серверной. Больше интересует что делать с маппингом типов. Есть, конечно, решение вроде просканить скриптом папку с data transfer классами, или, к примеру, написать xslt, который будет сканить иходный xsd, из которого эти типы генерируются... Но вроде таск распространенный, интересно, кто как забарывает. Это сообщение отредактировал(а) Souljah - 27.11.2007, 14:26 |
|||
|
||||
Foo |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 164 Регистрация: 20.10.2006 Репутация: 1 Всего: 3 |
Так а ненужно никакого мапинга типов в Axis2, главное чтобы в передаваемых классах были только примитивные типы (чтобы небыло List Set например, т.к. их не передаш через SOAP), и ещё желательно чтобы передаваемые обьекты были POJO иначе могут возникнуть проблемы, даже скорее всего возникнут, при передаче по вебсервисам.
--------------------
qip |
|||
|
||||
Souljah |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 148 Регистрация: 24.12.2004 Репутация: 3 Всего: 7 |
Спасибо, не думаю, что сейчас получится переползти на axis2, но на будущее буду знать.
|
|||
|
||||
Souljah |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 148 Регистрация: 24.12.2004 Репутация: 3 Всего: 7 |
Расскажу, как заборол:
Деплоим сервис как обычно через админку, забиваем на всякие бинмаппинги. Поднимаем сервер, идем на страницу с wsdl. Генерируем по этому wsdl классы клиента с флагом serverside="true" (я использовал ant). После этого в пакете со сгенерированными заглушками для сервиса появится deploy.wsdd с полным описанием вашего сервиса, и в нем уже будут прописаны typeMappings теги для всех используемых бинов. Просто копируем их в свой дескриптор (или переписываем свой новым). Все. Почему это не делается автоматически при деплое админкой - для меня загадка. Возможно, я изначально что-то делал не так. Если у кого-то есть идеи, буду благодарен за их озвучивание. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |