2017-11-25 7 views
0

이상한 문제가 있습니다.일부 추가 속성을 보낼 때 Spring Java Config와 CXF를 사용하여 unmarshalling 오류가 발생했습니다. (XML 구성을 사용할 때 오류는 없습니다.)

우리는 WSDL을 가지고 JAXB 코드를 생성했습니다. 서비스의 첫 번째 배치는 봄 XML의 설정을 사용했고 우리는

<jaxws:endpoint id="paymentProcess" 
    implementor="com.path.implementation.class" 
    address="/paymentProcess"/> 

로 엔드 포인트를 구성 무의식적으로 클라이언트 시스템이 웹 메소드 요청 중 하나에 속성 (XML 요소)를 추가,하지만 아무것도이 코드에서 일어나지 않았다 . 그리고 그것은 추가 재산을 무시했습니다.

하지만 지금이 변경 한 후

@Bean("cxf") 
public SpringBus springBus() { 
    System.setProperty("org.apache.cxf.logging.enabled", "pretty"); 
    return new SpringBus(); 
} 

@Bean 
public Endpoint paymentServiceEndpoint(InstallmentServicesImpl installmentServices) { 
    EndpointImpl endpoint = new EndpointImpl(springBus(), installmentServices); 
    endpoint.publish("/paymentProcess"); 
    return endpoint; 
} 

로 JavaConfig를 사용하여 코드를 변경, 우리는 많은 문제가 발생하고, 많은 노력 후 우리는 클라이언트가 추가 특성 (XML 요소)를 전송하는 발견 이는 초기 WSDL에 없었기 때문에 unmarshalling 오류가 발생합니다.

CXF가 이러한 추가 요소를 무시하도록 만들 수있는 방법이 있습니까?

답변

0

문제점은 JDK 및 CXFversions에서 발생했으며 대상 시스템은 JDK 6에 배포되어 CXF를 버전 3.0으로 다운 그레이드하게되었습니다. 모든 것이 잘되었습니다.