首页 文章

Wildfly 8.2 Resteasy没有编组XMLRootElement

提问于
浏览
0

我正在从jBoss 7.2向Wildfly 8.2更新一个非常简单的Rest服务,并遇到了一个问题,即从Resteasy转换为json的服务方法返回的对象不包括在对象上定义的XMLRootElement .

我正在使用maven并将所有java库设置为“提供”,因此使用Wildfly中捆绑的版本 .

我当前的jboss-deployment-structure.xml不包含或排除任何东西,但我尝试在jettison和jaxb之间切换,但总是遇到同样的问题 .

有没有人见过这个并找到了解决方案或者我错过了一些简单的东西?

提前感谢您的建议 .

1 回答

  • 0

    经过几个小时的挖掘和尝试,(在发布此问题之前)我发现添加以下类来配置映射器对问题进行了排序 . 似乎默认情况下,Resteasy不再包装根元素,所以你必须配置它才能这样做....

    @Provider
        public class ObjectMapperContextResolver implements ContextResolver<ObjectMapper> 
        {
            private final ObjectMapper mapper;
    
            public ObjectMapperContextResolver() 
            {
                mapper = new ObjectMapper();
                mapper.configure(SerializationConfig.Feature.WRAP_ROOT_VALUE, true); 
            }
    
            @Override
            public ObjectMapper getContext(Class<?> type) 
            {
                return mapper;
            }
    
        }
    

相关问题