2010-01-15 6 views
1

웹 서비스의 경우 일반적으로 maven-jaxb2-plugin을 사용하여 java beans를 생성하고 Spring에서 JAXB2 마샬링을 사용합니다. WSDL/XSD에서 가장 잘 선언 된 (SOAP-) 오류를 처리하는 방법이 궁금합니다. 응용 프로그램에서 오류에 정렬 된 Java 예외를 사용하고 싶습니다. 이것이 가능한가? 나는 maven-jaxb2-plugin의 소스 코드 생성으로 예외를 생성하는 방법을 찾지 못했다. 감사!JAXB2로 XSD/바인딩 예외로부터 Java 예외 생성

업데이트 : 스프링 - ws를 사용하고 싶습니다. 하지만 주요 문제는 jaxb2 소스 생성기로 자바 예외를 생성하는 방법입니다.

답변

0

XFire (now CXF)는 here과 같이 WSDL에 선언 된 SOAP 예외를 특정 Java 예외로 바인딩 할 수있게합니다. 이러한 Java 예외는 JAXB를 통해 생성되지 않고 직접 작성됩니다. Spring-WS에 상응하는 것이 있는지 나는 모른다.

0

Jaxb2 플러그인은 XSD에서만 빈을 생성합니다. jaxws-maven-plugin instad를 maven-jaxb2-plugin으로 사용할 수 있습니다.

시도하여이 :

<plugin> 
    <groupId>org.codehaus.mojo</groupId> 
    <artifactId>jaxws-maven-plugin</artifactId> 
    <executions> 
     <execution> 
      <id>generate-from-wsdl< 
      <goals> 
       <goal>wsimport</ 
      </goals> 
     </execution> 
    </executions> 

    <configuration> 
     <wsdlDirectory>src/main/resources/wsdl/</wsdlDirectory> 
     <keep>true</keep> 
     <sourceDestDir>target/generated-sources/wsimport</sourceDestDir> 
    </configuration> 
</plugin> 

그냥 단순히 두 개의 패키지에 target/generated-sources/wsimport의 명령 mvn clean install, 당신이 생성 찾을 수 있습니다 자원을 호출 :

  • 유형 -generated 자바 콩 jaxb와 동일
  • wsdl - 클래스, 예외, wsdl에서 생성 된 인터페이스