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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> xmlbeans, ejb и servlet 
V
    Опции темы
YuG
Дата 20.1.2010, 14:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Добрый день.

Задача: вызывать внешний сервис и показать ответ на JSP под JBoss.

Внешний сервис принимает и отвечает при помощи XML по HTTP (но это не WebService и не SOAP), известна его XSD, поэтому я сгенерил Java классы для этого API при помощи xmlbeans.

Таким образом, EJB3 дёргает внешний сервис и заворачивает XML ответ в Java объект.
Внутри EJB проблем нет - я могу прочить любое поле из такого объекта (т.е. получить данные, согласно API сервиса, например getProductName()). Но мне нужны эти данные в сервлете.

Однако, передать такой Java объект в чистом виде в сервлет не получилось, т.к. xmlbeans классы не Serializable.
Написал собственные классы-обёртки с getter и setter методами для таких объектов. В итоге, мой сервлет успешно получил из EJB мой объект-обёртку, успешно достал из неё нужный мне Java объект и вот тут проблема.

Код

        // вызваем EJB из сервлета и получаем 
        ProductVO productVO = ServiceLocator.getProductManager().getProduct(id);
        
        // достаём xmlbeans'овый Java объект 
        Product product = productVO.getProduct();
        
        // успешно получаем информацию из родительских методов 
        String info = product.toString();
        Class clazz = product.getClass();
        
        // проблема когда получаем информацию из XML API
        String name = product.getProductName(); 


Я в сервлете у этого объекта могу вызывать методы toString(), getClass() и т.д., но не могу вызвать ни одного метода из API (т.е. getAbonentName()). Причём, код, естесственно, компилируется, EAR успешно деплоится, вызов EJB из сервлета тоже осуществляется успешно.

А что происходит в последней строке - не знаю. Ничего. Просто сервер "зависает", жрёт много памяти и всё.

Вот такая ситуация... Надеюсь, объяснил понятно...

PM WWW ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

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

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


 




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


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

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