[JBossWS] Spring WebServices 를 JBossWS 로 변경하기
WEB/JBossAS / 2010. 4. 29. 10:04
회사에서 개발하는 솔루션이 spring framework 기반이라 웹서비스도 spring webservices 로 구축을 하였는데, JBoss 에 올리려고 하니 여러 오류가 생겨 재 작년부터 고민하고 여러가지 시도를 하였으나 실패를 하였습니다.
우연히 다른 것을 검색하다가 발견한 것에서 아이디어가 떠올라서 여러가지 실험을 해본 결과 JBoss 용 웹 서비스를 publish 하는 데 성공하였습니다.
기존의 Spring WebServices Class
별 다른 작업 없이 DI 를 이용하여 service 객체를 이용하여 웹 서비스를 제공하였습니다.
JBossWS 에서 Spring Bean 사용하는 WebService Class
JBossWS 에서는 @Resource 라는 어노테이션을 이용하여 ThreadLocal 한 WebServiceContext 객체를 설정할 수 있습니다.
메소드에 어노테이션 설정하여 WebServiceContext 객체가 웹 서비스 객체에 설정이 될 때 Spring Bean 을 WebApplicationContext 를 이용하여 가지고 오는 방법을 사용하였습니다.
이렇게 구성된 웹 서비스를 JBoss 에 publish 하는 방법은 단순합니다.
web.xml 에 servlet 과 servlet-mapping 에 웹 서비스 클래스를 등록하는 것이 전부입니다.
Spring WebService 로 publish 할 경우 별도의 포트로 binding 해야 하지만 JBossWS 는 JBoss 포트로 서비스가 가능합니다.
포트가 하나로 통합되면 얻는 이점이 많을 듯 합니다