2013-02-05 1 views
1

WSDL 파일에서 생성 된 객체를 CXF cxf-codegen-plugin으로 JSON 문자열로 변환해야합니다. 나는 그것에 대한 해결책을 찾기가 운이 좋다.Java에서 JSON으로 cxf JSONProvider

지금까지 내가 가지고과 같습니다

<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> 

내 콩으로 주입 지금 내가 사용하려고 : 나는 CXF JSONProvider의 봄 설정을 만들었습니다

try { 
    StringWriter writer = new StringWriter(); 

    jsonProvider.writeTo(
      evaluationType, 
      EvaluationType.class, 
      new Annotation[]{}, 
      MediaType.APPLICATION_JSON_TYPE, 
      null, 
      new StringOutputStream(writer)); 

    return writer.toString(); 
} catch (IOException e) { 
    LOGGER.error("e", e); 
    return ""; 
} 

질문은이 방법에 어떤 종류의 주석을 제공해야합니까? 이에 관한 문서는 없습니다. 나는 다음과 같이 나타납니다 :

EvaluationImpl은이 메소드를 호출하는 클래스입니다. 이 방법에 어떤 종류의 주석을 제공했는지 조언 해주세요. 또는 이것을 사용하는 다른 방법이 있습니다. CXF JSONProvider?

+0

JAXB는 정적이 아닌 내부 클래스를 처리 할 수 ​​없습니다. 쉬운 수정 : 구체적인 클래스로 내부 클래스를 변경하십시오. – willome

답변

0

ObjectMapper을 사용하여 자바 객체를 JSON으로 변환하면 잭슨을 구성하기위한 많은 옵션이 제공되며 사용하기가 더 쉽습니다.

+0

감사합니다. 나는 이미 이것을 선택했다. –