使用cxf JSONProvider从Java到JSON

使用cxf JSONProvider从Java到JSON,java,json,cxf,Java,Json,Cxf,我需要将使用CXFCXF codegen插件从WSDL文件生成的对象转换为JSON字符串。我没有幸运地找到任何解决办法 就我所知:我已经创建了CXF JSONProvider的Spring配置: <bean id="jsonProvider" class="org.apache.cxf.jaxrs.provider.json.JSONProvider"> <property name="dropRootElement" value="true"/> <

我需要将使用CXF
CXF codegen插件从WSDL文件生成的对象转换为JSON字符串。我没有幸运地找到任何解决办法

就我所知:我已经创建了CXF JSONProvider的Spring配置:

<bean id="jsonProvider" class="org.apache.cxf.jaxrs.provider.json.JSONProvider">
    <property name="dropRootElement" value="true"/>
    <property name="dropCollectionWrapperElement" value="false"/>
    <property name="serializeAsArray" value="true"/>
    <property name="ignoreNamespaces" value="true"/>
</bean>
问题是,我必须为这个方法提供什么样的注释?没有关于它的文档。我得到:

Caused by: com.sun.xml.bind.v2.runtime.IllegalAnnotationsException: 1 counts of IllegalAnnotationExceptions
com.company.test.evaluation.evaluation.EvaluationImpl$1 is a non-static inner class, and JAXB can't handle those.
    this problem is related to the following location:
        at com.company.test.evaluation.EvaluationImpl$1

This
EvaluationImpl
是我调用此方法的类。请建议我为这个方法提供什么样的注释。或者,也许有其他方法可以使用cxfjsonprovider实现这一点

我建议您使用Jackson将java对象转换为
JSON
配置Jackson
ObjectMapper
有很多选项,使用起来更容易。

JAXB无法处理非静态内部类。一个简单的解决方法:用一个具体的类来改变你的内部类。
Caused by: com.sun.xml.bind.v2.runtime.IllegalAnnotationsException: 1 counts of IllegalAnnotationExceptions
com.company.test.evaluation.evaluation.EvaluationImpl$1 is a non-static inner class, and JAXB can't handle those.
    this problem is related to the following location:
        at com.company.test.evaluation.EvaluationImpl$1