여러 스키마가있는 WSDL의 사용자 지정 javaTypes를 사용하는 데 문제가 있습니다. 바인딩은 주어진 네임 스페이스가있는 스키마에서 작동하지만 네임 스페이스가없는 스키마에서는 컴파일이 실패합니다. 여러 스키마가있는 WSDL의 사용자 정의 구문 분석 및 인쇄 메서드
이
은 bindings.xml 파일입니다 : 내가 CXF-CODEGEN - 플러그인을 사용하고<jaxb:bindings version="2.1" xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:common="urn:my:ns">
<jaxb:globalBindings generateElementProperty="false">
<jaxb:serializable uid="1"/>
<jaxb:javaType name="java.util.Date" xmlType="xs:date"
parseMethod="org.apache.cxf.xjc.runtime.DataTypeAdapter.parseDate"
printMethod="org.apache.cxf.xjc.runtime.DataTypeAdapter.printDate"/>
<jaxb:javaType name="java.util.Calendar" xmlType="xs:dateTime"
parseMethod="javax.xml.bind.DatatypeConverter.parseDateTime"
printMethod="javax.xml.bind.DatatypeConverter.printDateTime"/>
<jaxb:javaType name="java.util.UUID" xmlType="common:uuid"
parseMethod="my.package.UuidConverter.parse"
printMethod="my.package.UuidConverter.print"/>
</jaxb:globalBindings>
</jaxb:bindings>
오류 메시지는 다음과 같습니다 정의되지 않은 단순 유형
이 가능하다 urn : my : ns가 스키마 중 하나에 없을 때 UUID 바인딩을 무시합니까? 또는 다른 방법을 사용하여이 바인딩을 보관할 수 있습니까?
실패한 스키마가 의존하는 다른 단순 유형에 대한 바인딩이 누락되지 않았습니까? 다른 말로하면, 그들은'common : uuid'에 의존하지 않을 수도 있지만, 여러분이 놓친 또 다른 간단한 유형에 의존 할 수 있을까요? – J0e3gan
@ J0e3gan 아니요, 그렇게 생각하지 않습니다. 맞춤 구문 분석기/프린터를 켜고 끄는 것으로 확인했습니다. – Vegard