J2EE 1.3 스펙부터는 애플리케이션 컴포넌트(애플리케이션 클라이언트,
웹 모듈, EJB 모듈)가 웹 서비스 참조라는 "논리" 이름을 사용하여 외부 웹 서비스에 대한
참조를 정의할 수 있습니다. J2EE 1.3에서는 참조가 모듈의 webservicesclient.xml에
추가됩니다. J2EE 1.4부터는 참조가 배치 디스크립터에 포함됩니다. 배치 디스크립터 편집기를
사용하여 웹 서비스 참조를 정의할 수 있습니다.
이 태스크 정보
배치 시 웹 서비스 참조는 대상 운영 환경에 있는 웹 서비스 인터페이스에
바인딩됩니다.
사용자가 정의하는 각 웹 서비스 참조의 경우 service-ref 요소가
해당 애플리케이션 컴포넌트에 추가됩니다. 웹 서비스 참조는 정의되는 애플리케이션 컴포넌트 또는
엔터프라이즈 Bean으로 범위가 지정되므로 런타임 동안 다른 애플리케이션 컴포넌트에
액세스할 수 없습니다. 기타 컴포넌트는 이름 충돌을 야기하지 않고도 동일한 이름을 가진
웹 서비스 참조를 정의할 수 있습니다.
참고: J2EE 1.4 스펙 레벨 이전의 프로젝트 레벨에서는
워크벤치를 통해 웹 서비스 참조를 정의할 수 있지만 service-ref 요소는
배치 디스크립터에 추가되지 않습니다(application-client.xml, web.xml 또는 ejb-jar.xml).
오히려 웹 서비스 참조는 모듈의 WEB-INF 폴더에 있는 webservicesclient.xml 파일에서
선언됩니다. 예를 들어, 웹 서비스 참조를 J2EE 1.3 애플리케이션 클라이언트에 추가하면
이 참조가 webservicesclient.xml에 추가됩니다. 웹 서비스 참조를 J2EE 1.4 애플리케이션
클라이언트에 추가하면 이 참조는 application-client.xml에 추가됩니다.
팁: EJB 스펙은 Bean의 환경 java:comp/env/service JNDI
컨텍스트의 서비스 하위 컨텍스트에서 모든 웹 서비스 참조를 구성할 것을 권장합니다.