2010-07-15 2 views
2

나는 네임 스페이스를 공유하는 다섯 개의 WSDL을 가지고 있지만 전부는 아니다. 나는 그들 중 클라이언트 코드를 생성한다 (XMLBeans로 데이터 바인딩). 개별적으로 그들은 잘 컴파일됩니다. 생성 된 각 클라이언트 코드에서 JAR 파일을 만듭니다.다중 WSDL (xmlbeans)을 사용하여 공유 네임 스페이스 다루기

일단 프로젝트 내에서 모든 JAR 파일을 사용하려고하면 명명/컴파일 충돌이 발생합니다.

최대한 재사용하고 싶습니다. 패키지 구조에서 각 클라이언트에 자체 노드를 제공하는 대신이 문제를 해결할 현명한 방법이 있습니까?

+0

XMLBeans가 아닌 ADB로 코드를 생성하는 것처럼 보이지만 XMLBeans는 리소스 파일을 사용합니다. ADB를 사용하는 것이 해결책 일 수 있습니다. –

답변

2

XML 빈스 xsdconfig 네임 스페이스 매핑의 제한 노트 faq (2.X) :

alt text 참고 : (다른 패키지) 자바 클래스의 두 개 이상의 세트를 사용을 지원하지 않습니다 XML 빈스를 스키마에 매핑 동일한 클래스 로더에서 모두를 사용하여 이름과 대상 네임 스페이스가 같은 유형/요소 Java 클래스에서 스키마 유형으로 매핑 할 때 사용하는 방향에 따라 일부 기능이 제대로 작동하지 않을 수 있습니다. 이는 java 클래스의 패키지 이름이 다르더라도 스키마 메타 데이터 (.xsb 파일)의 스키마 위치가 동일하고 해당 구현 Java 클래스를 포함하므로 JVM은 항상 클래스 경로에서 첫 번째 항목을 선택하기 때문입니다 . 여러 클래스 로더가 사용되는 경우이를 피할 수 있습니다.

+0

아, 그건 의미가 있습니다. ADB를 사용하면 효과적입니다. 모든 도메인 모델을 병합하여 좋은 결과를 얻을 수 있습니다 :) –