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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Mapping xml-attribute using resteasy 
:(
    Опции темы
alon4ik
Дата 20.9.2010, 10:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 12.9.2009
Где: Харьков

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



Hi all. I'm using resteasy and have some problem.

There is some service on remote server. For example, when I go to url

"http://some.site.com/Login/my_login/my_passowrd" service returns me xml:

Код

< LoginToken> 
  < success>true< /success>
  < token>23324473-897b-408b-b096-bf2cddad33< /token> 
< /LoginToken>


I've wrote class for mapping:

Код

@XmlRootElement(name = "LoginToken") 
public class LoginToken {

@XmlElement(name="success") 
private String success;

@XmlElement(name="token")
 private String token;

public String getSuccess() 
{ return success; }

public String getToken() 
{ return token; } }


..and another code for testing:

Код

...
final String loginUrl "http://some.site.com/Login/{login}/{password}"; 
ResteasyProviderFactory instance = ResteasyProviderFactory.getInstance();
RegisterBuiltin.register(instance);

ClientRequestFactory client = new ClientRequestFactory();

LoginToken ct = client.get(loginUrl, LoginToken.class, "user", "123456");

System.out.println(ct.getSuccess() + " " + ct.getToken());
...


after running this example I receive result:

true 23324473-897b-408b-b096-bf2cddad33

But server can returns another xml:

Код

< LoginToken xmlns="some.site.com/login/api/domain" mlns:i="http://www.w3.org/2001/XMLSchema-instance">
    < success>true< /success>
    < token>23324473-897b-408b-b096-bf2cddad33< /token>
 < /LoginToken>


and i have unmarshall error:

Exception in thread "main" org.jboss.resteasy.plugins.providers.jaxb.JAXBUnmarshalException: javax.xml.bind.UnmarshalException: unexpected element (uri:"some.site.com/login/api/domain", local:"LoginToken"). Expected elements are <{}LoginToken> at org.jboss.resteasy.plugins.providers.jaxb.AbstractJAXBProvider.readFrom(AbstractJAXBProvider.java:86) at org.jboss.resteasy.core.interception.MessageBodyReaderContextImpl.proceed(MessageBodyReaderContextImpl.java:105) at org.jboss.resteasy.plugins.interceptors.encoding.GZIPDecodingInterceptor.read(GZIPDecodingInterceptor.java:46) at org.jboss.resteasy.core.interception.MessageBodyReaderContextImpl.proceed(MessageBodyReaderContextImpl.java:108) ...

Question: how can I map xml-namespace using resteasy? Please, help. Thanks.
PM MAIL   Вверх
alon4ik
Дата 20.9.2010, 12:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 12.9.2009
Где: Харьков

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



Всё, разобрался) 
Для всех элементов необходимо указывать неймспейс - это раз. Ну и два - теги геристрозависимые. Эт я протупил, когда писал свой аналогичный сервис. Я возвращаю xml-ку в которой все теги начинаются с маленькой буквы, а продакшн-сервер возвращает из с заглавной) Поменял регистр - и всё заработало. Всем спасибо.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "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.0773 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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