Я использую resteasy и у меня возникли проблемы.
На удаленном сервере есть служба. Например, когда я иду на URL
"http://some.site.com/Login/my_login/my_passowrd" сервис возвращает мне xml:
< LoginToken>
< success>true< /success>
< token>23324473-897b-408b-b096-bf2cddad33< /token>
< /LoginToken>
Я написал класс для отображения:
@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;
}
}
.. и другой код для тестирования:
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());
после запуска этого примера я получаю результат:
true 23324473-897b-408b-b096-bf2cddad33
Но сервер может вернуть другой 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>
и у меня ошибка unmarshall:
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)
...
Вопрос: как я могу сопоставить пространство имен xml с помощью resteasy? Пожалуйста помоги. Спасибо.