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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Axis клиент и сложные типы 
:(
    Опции темы
smbd
  Дата 15.2.2006, 10:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Есть у меня веб-сервис. Живет в JBoss'е. Возвращает сложный тип PersonInfo: несколько полей, в том числе массивы.

Я не могу в клиенте получить (десериализовать) возвращаемое значение. На сервере всё отрабатывает. А на клиенте - нет.

Делаю так:

Код

// ...
        call.registerTypeMapping( PersonInfo.class ,
                                      new QName( "urn:WebServiceSpeedTest" , "PersonInfo" ) ,
                                      org.apache.axis.encoding.ser.BeanSerializerFactory.class ,
                                      org.apache.axis.encoding.ser.BeanDeserializerFactory.class ,
                                      true ) ;
        call.addParameter( new QName( "in0" ) , new QName( "long" ) , ParameterMode.IN );
        call.setReturnType( new QName( "urn:WebServiceSpeedTest" , "PersonInfo" ) ) ;
// ...
        returned = call.invoke( params ) ;


Получается ошибка
- Could not convert org.apache.axis.encoding.ser.ArrayDeserializer$ArrayListExtension to bean field 'documentIDs', type [Lmy.package.DocumentID;
- Exception:
java.lang.ArrayStoreException: java.lang.String

Если убрать registerTypeMapping
- Exception:
org.xml.sax.SAXException: Deserializing parameter 'getFullPersonReturn': could not find deserializer for type {urn:WebServiceSpeedTest}PersonInfo

Если убрать addParameter и setReturnType (или и их, и registerTypeMapping), то будет
- Exception:
org.xml.sax.SAXException: SimpleDeserializer encountered a child element, which is NOT expected, in something it was trying to deserialize.

Что ещё интересно: .NET клиент всё спокойно отрабатывает.

Ещё я нашёл такую ссылочку http://entirex.forums.softwareag.com/viewt...76457747a5455af
Там похожая проблема, но товарищ просто галочки ставит где-то (см. последний пост). Может, можно и где-то в объекте Call что-то включить??

Надеюсь, кто-нибудь с этим встречался. А то уже smile

PM MAIL   Вверх
Slanix
Дата 15.2.2006, 12:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



А что мешает получить WSDL и сгенерировать stub (WSDL2Java).
И потом обращаться к объекту так, как-будто всё локально?
см. доку по AXIS.
--------------------
Я буду искать лица Твоего, Господи Пс.26:8
PM MAIL ICQ YIM   Вверх
smbd
Дата 15.2.2006, 13:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Не хочется много классов.

Кстати, сама проблема случайно решилась. WSDL делается не literal, как было, а default.

Интересно, а что подставляется вместо default?
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.0614 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


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

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