Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Axis 1.4 beanMapping, нужен совет 
:(
    Опции темы
Souljah
Дата 27.11.2007, 13:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 148
Регистрация: 24.12.2004

Репутация: 3
Всего: 7



Всем привет!

Бразас, нужен совет.
Пишу вебсервис с использованием axis.
Сгенерировал по wsdl клиентскую часть, дергаю вызов - получаю сообщение о невозможности десеарилизовать тип на сервере.
Ну это понятно, для каждого использумого javabean следует прописать прописать секцию <beanMapping... /> в wsdd. Все бы ничего, но сервис обменивается с клиентами сложными иерархиями с кучей объектов, и вбивать ручками для каждого типа beanMapping-маркер совсем не улыбается. 
Нет какого-нть способа автоматизировать этот процесс? 

Спасибо.
PM MAIL   Вверх
Foo
Дата 27.11.2007, 14:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 164
Регистрация: 20.10.2006

Репутация: 1
Всего: 3



использовать Axis2, там wsdl генерируется автоматически. 

Цитата

но сервис обменивается с клиентами сложными иерархиями с кучей объектов


Тогда, думаю генерация wsdl это самая простая проблема с которой придет столкнуться во время использования Axis.
--------------------
qip
PM MAIL   Вверх
Souljah
Дата 27.11.2007, 14:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 148
Регистрация: 24.12.2004

Репутация: 3
Всего: 7



Генерация wsdl вообще не проблема, так как выполняется аксисом автоматически для любого задеплоенного сервиса. 
Тут как раз все устривает, и сгенерированная по wsdl иерархия соответствует серверной.
Больше интересует что делать с маппингом типов. 
Есть, конечно, решение вроде просканить скриптом папку с data transfer классами, или, к примеру, написать xslt, который будет сканить иходный xsd, из которого эти типы генерируются... Но вроде таск распространенный, интересно, кто как забарывает.

Это сообщение отредактировал(а) Souljah - 27.11.2007, 14:26
PM MAIL   Вверх
Foo
Дата 27.11.2007, 14:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 164
Регистрация: 20.10.2006

Репутация: 1
Всего: 3



Так а ненужно никакого мапинга типов в Axis2, главное чтобы в передаваемых классах были только примитивные типы (чтобы небыло List Set например, т.к. их не передаш через SOAP), и ещё желательно чтобы передаваемые обьекты были POJO  иначе могут возникнуть проблемы, даже скорее всего возникнут, при передаче по вебсервисам.
--------------------
qip
PM MAIL   Вверх
Souljah
Дата 27.11.2007, 14:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 148
Регистрация: 24.12.2004

Репутация: 3
Всего: 7



Спасибо, не думаю, что сейчас получится переползти на axis2, но на будущее буду знать.
PM MAIL   Вверх
Souljah
Дата 10.12.2007, 20:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 148
Регистрация: 24.12.2004

Репутация: 3
Всего: 7



Расскажу, как заборол:

Деплоим сервис как обычно через админку, забиваем на всякие бинмаппинги. Поднимаем сервер, идем на страницу с wsdl. 
Генерируем по этому wsdl классы клиента с флагом serverside="true" (я использовал ant). После этого в пакете со сгенерированными заглушками для сервиса появится deploy.wsdd с полным описанием вашего сервиса, и в нем уже будут прописаны typeMappings теги для всех используемых бинов. Просто копируем их в свой дескриптор (или переписываем свой новым). Все.
Почему это не делается автоматически при деплое админкой - для меня загадка. Возможно, я изначально что-то делал не так. Если у кого-то есть идеи, буду благодарен за их озвучивание.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.0650 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.