2014-12-15 2 views
0

Я реализую веб-сервис с использованием трикотажа и MOXy. Webservice вернет данные как результат JSON. Я хочу обернуть некоторые коллекции, используя следующий класс обертки:JAXB marshall wrapper object с общим списком

public class PaginationWrapper<T> 
{ 
    private List<T> data; 
    //other fields 
    private... 

    public List<T> getData() 
    { 
     return data; 
    } 

    public void setData(List<T> data) 
    { 
     this.data = data; 
    } 

    //other getter and setter 
} 

Проблема в том, что с общим результатом не будет возвращен результат. Существует исключение поднятое:

javax.xml.bind.MarshalException 
- with linked exception: 
[Exception [EclipseLink-25003] (Eclipse Persistence Services - 2.5.0.v20130507-3faac2b):   org.eclipse.persistence.exceptions.XMLMarshalException 
Exception Description: An error occurred marshalling the object 
Internal Exception: Exception [EclipseLink-25007] (Eclipse Persistence Services - 2.5.0.v20130507-3faac2b): org.eclipse.persistence.exceptions.XMLMarshalException 
Exception Description: A descriptor for class packagereplaced.PaginationWrapper was not found in the project. For JAXB, if the JAXBContext was bootstrapped using TypeMappingInfo[] you must  call a marshal method that accepts TypeMappingInfo as an input parameter.] 

Замена универсального типа будет исправить эту ошибку, но я не хочу, чтобы создать оболочку для каждого объекта данных, у меня есть. Потому что я реализую веб-сервис с трикотажем и moxy. У меня нет доступа к сортировке. Мне нужно решение на основе аннотации или что-то еще, что будет работать с джерси;)

ответ

0

Я решил это, заменив MOXy на джексон. Без какой-либо конфигурации JSON-маршаллинг работал из коробки.

Смежные вопросы