2017-03-28 1 views
1

DTO를 XML로 직렬화 할 때 JAXBContext에 추가 클래스를 전달하도록 Apache CXF 클라이언트와 서버를 구성하는 방법은 무엇입니까?Apache CXF가 JAXB 컨텍스트에 "알려진"추가 클래스를 만듭니다.

@XmlSeeAlso 주석은 데이터 계약이있는 jar 컴파일시에는 알 수 없지만 클라이언트 컴파일시에는 알 수 없으므로 사용할 수 없습니다. 클라이언트 측에

나는 사용하여 시도 :

Service service = Service.create(wsdlURL, serviceName, new UsesJAXBContextFeature(MyFactory.class)); 
T client = service.getPort(clazz); 

을하지만 CXF가이 기능을 지원하지 않는다는 것을 말해 예외를 얻었다.

답변

0

당신이 cxf.xml와 CXF를 구성하는 경우 (스프링-XML) 다음과 같은 사용할 수 있습니다

<jaxws:endpoint/client> 
    <jaxws:properties> 
    <entry key="jaxb.additionalContextClasses"> 
     <array value-type="java.lang.Class"> 
      <value type="java.lang.Class">fullQualifiedClassName</value> 
     </array> 
    </entry> 
    </jaxws:properties> 
</jaxws:endpoint> 

또는 다른 방법을 org.apache.cxf.jaxb.JAXBDataBinding 속성을 작성하는 "extraClass을" (클래스 [])처럼. http://cxf.apache.org/docs/jaxb.html

을 참조하십시오.
관련 문제