프로그래밍 노트

Axis2 codegen bug

환상무빙 2009. 8. 9. 02:36
wsdl2java는 wsdl을 호출할 수 있는 java코드를 생성해준다. wsdl2java는 Axis2에 포함되어 있다.
이 작업을 좀 더 편하게 해주는 eclipse plug-in이 있는데(사실 쉘에서 실행할 수 있는 스크립트 하나 만들어서 두고두고 사용하는게 편하다.)

http://svn.apache.org/repos/asf/webservices/axis2/site/tools/1_0/eclipse/wsdl2java-plugin.html

여기 나와 있는데로 하면 되어야 하지만
마지막 단계에서 아래와 같은 예외가 발생하면서 대락 난감!

java.lang.reflect.InvocationTargetException

구글링을 해보니 비슷한 삽질을 한 사람이 무척 많은데 아무튼 아래처럼 하니까 되더라.
  1. backport-util-concurrent-3.1.jar와 geronimo-stax-api_1.0_spec-1.0.1.jar
    $ECLIPSE_HOME\plugins\Axis2_Codegen_Wizard_1.3.0\lib에 복사한다.
    * $AXIS2_HOME\lib 안에 있음
  2. $ECLIPSE_HOME\plugins\Axis2_Codegen_Wizard_1.3.0\plugin.xml 에 아래 내용을 추가

    <library name="lib/geronimo-stax-api_1.0_spec-1.0.1.jar">
        <export name="*"/>
    </library>
    <library name="lib/backport-util-concurrent-3.1.jar">
        <export name="*"/>
    </library>

  3. <plugin>엘리먼트의 version 속성을 1.3.0 에서 1.4.0 으로 수정
  4. plugin 폴더 이름도
    $ECLIPSE_HOME\plugins\Axis2_Codegen_Wizard_1.3.0
    에서
    $ECLIPSE_HOME\plugins\Axis2_Codegen_Wizard_1.4.0
    으로 수정
  5. Eclipse를 다시 실행!

나에게 도움을 준 웹페이지 : https://issues.apache.org/jira/browse/AXIS2-3792
테스트 환경 : Eclipse 3.4, Java 6, Axis2 1.4