WAS(Web Application Server) Configuration

Apache CXF 기반의 Web Services를 구현한 웹 어플리케이션을 WAS(Web Application Server)에 배포하여 구동시키게 되는데, 이때 각 WAS 별로 Apache CXF를 실행시키기 위해서 추가 작업이 필요할 수 있다. WAS 별 추가 환경 설정이 필요한 경우 어떻게 해야 하는지 설명하고 있다. Apache CXF는 JDK 1.5만을 지원하므로 설치 대상 WAS도 JDK 1.5를 지원하는 WAS로 제한한다.

다음은 각 WAS 별 내용이다.

Tomcat

Apache CXF는 JDK 1.5를 지원하므로 Tomcat 서버의 경우, Tomcat 5.5.x 버전의 서버가 대상이 된다. Tomcat 서버에 대한 설명 및 다운로드는 이곳을 참고하도록 한다.

Tomcat 5.5.23

추가 설정 없이 Apache CXF 사용이 가능하다.

JEUS

Apache CXF는 JDK 1.5를 지원하므로 JEUS 서버의 경우, JEUS 5와 JEUS 6 버전의 서버가 대상이 되나, JEUS 5의 경우 JAXB 라이브러리의 충돌로 Apache CXF 사용이 불가능하다. JEUS 서버에 대한 설명 및 다운로드는 이곳을 참고하도록 한다.

JEUS 5

Apache CXF 사용이 불가능하다.
JEUS 서버 라이브러리에 배포된 JAXB API, IMPL 및 참조 라이브러리(JAXB 1.x)와 Apache CXF를 사용하여 구현한 웹 어플리케이션에 배포된 라이브러리들(JAXB 2.x)과 버전 차이로 동작하지 않는다.

JEUS 6

추가 설정 없이 Apache CXF 사용이 가능하다.
JEUS 서버 라이브러리에 배포된 JAXB API, IMPL 및 참조 라이브러리(JAXB 2.x)와 Apache CXF를 사용하여 구현한 웹 어플리케이션에 배포된 라이브러리들(JAXB 2.x)의 버전 일치로 문제없이 동작한다.

WebLogic

Apache CXF는 JDK 1.5를 지원하므로 WebLogic 서버의 경우, WebLogic 9.2 버전의 서버가 대상이 된다. WebLogic 서버에 대한 설명 및 다운로드는 이곳을 참고하도록 한다.

WebLogic 9.2

아래와 같은 추가 작업 후, Apache CXF 사용이 가능하다.
  • JDK_HOME/jre/lib/endorsed 폴더에 geronimo-ws-metadata_2.0_spec-1.1.2.jar 파일 복사
  • WebLogic 서버 설치 시 설정했던 JDK 1.5의 위치를 확인하여 JDK_HOME/jre/lib 폴더 하위에 endorsed 폴더를 생성하고, 현재 배포하려고 하는 웹 어플리케이션의 WEB-INF/lib 폴더 하위의 geronimo-ws-metadata_2.0_spec-1.1.2.jar 파일을 endorsed 폴더 하위로 복사해 넣도록 한다.

    [참고사항] 이 경우, WebLogic 서버 전체에 영향을 미치므로 weblogic-application.xml 파일을 추가 작성하여 EAR 파일로 WAR 파일을 배포하여 해당 웹 어플리케이션에만 변경 영향을 미치도록 할 수도 있다. weblogic-application.xml 작성 방법은 이곳을 참고하도록 한다.

    위에 언급한 것처럼 geronimo-ws-metadata_2.0_spec-1.1.2.jar 파일 복사 방법을 택하거나, 참고사항으로 언급한 weblogic-application.xml 파일을 추가 작성하는 방법을 택할 수 있다.(택1)
  • [Optional] Hibernate와 함께 사용 시
  • EAR이나 WAR 파일로 배포 시 Hibernate Resource 파일(mapping xml)을 로드하지 못하는 문제가 발생하므로, 웹 어플리케이션을 WebLogic 서버에 배포 시 폴더 형태로 풀어진 웹 어플리케이션으로 배포하도록 한다.