JAX-WS 및 JAX-RPC에 대한 EGL 지원
JAX-WS는 SOAP 서비스 통신 및 액세스의 속도를 개선하는 Java™ EE 기술입니다. EGL을 사용하면 JAX-WS 또는 이보다 이전 기술인 JAX-RPC(Java API for XML-based RPC)를 사용하는 SOAP 서비스 및 서비스 요청자를 생성할 수 있습니다. 현재 목표는 미래의 개선사항을 통해 JAX-WS에 대한 EGL SOAP 서비스 지원이 이뤄지도록 기반을 다지는 것입니다.
JAX-WS에 의존하는 서비스 및 서비스 요청은 JAX-RPC에 의존하는 다른 로직과 상호작용할 수 있습니다. 런타임 호환성이 보장됩니다. EGL과 관련하여, JAX-WS는 이후에 코드를 SOAP 서비스로서 여러 대상 프로젝트에 배치한다고 하더라도 서비스를 한 번만 생성해도 되는 편리함을 추가로 제공합니다.
- JAX-WS에 대한 EGL 지원은 SOAP 서비스 또는 서비스 요청자가 JEE 버전 5를 지원하는 서버에 배치된 경우에만 사용 가능합니다.
테스트는 다음 플랫폼에서 수행되었습니다.
- WebSphere® Application Server 7.0
- Apache Tomcat 5.x(Java 1.6)
- Apache Tomcat 6.x(Java 1.6)
- JAX-WS를 사용 중인 경우에는 EGL 구조화된 레코드를 서비스와 서비스 요청자 간에 전송할 수 없습니다. JAX-RPC를 사용 중인 경우에는 구조화된 레코드를 전송할 수 있으나 요청자와 서비스가 모두 EGL 생성된 경우에는 요청자와 서비스가 모두 JAX-RPC를 사용하여 실행되어야 합니다. 구조화된 레코드에 대한 EGL 지원의 세부사항은 "서비스 파트 참조"를 참조하십시오.
- EGL 대상 프로젝트가 서비스 또는 서비스 요청자를 포함하는 웹 프로젝트인 경우 이 프로젝트는 JAX-WS 또는 JAX-RPC 기술 중 하나만 사용할 수 있습니다.
코드를 생성하거나 대상 프로젝트에 배치할 때는 그 외의 다른 기술을 사용하는 서비스 또는 서비스 요청자에 대한 지원을 추가할 수 없습니다.
서비스 액세스 또는 배치를 위한 Java EE 기술은 특정 대상 프로젝트의 모든 로직에서 동일해야 하지만, 액세스되는 각 원격 SOAP 서비스는 두 기술 중 하나를 사용하여 배치될 수 있다는 점을 다시 한 번 기억하십시오. 런타임 호환성이 보장됩니다.
- 8.0.1.1 이전의 EGL 버전에서 작업했으며 인터페이스 파트, 레코드 파트 또는 서비스 스켈레톤을 자동으로 작동하기 위해
WSDL 파일을 사용한 경우에는 다음과 같은 상황에서 작성한 파트가 오류를 발생시킬 가능성이 큽니다.
- WSDL 파일에서 작성된 파트를 유지했습니다. 그리고
- 이러한 파트를 기초로 코드를 생성하거나 이 코드를 JAX-WS를 사용하도록 구성된 대상 프로젝트에 배치합니다.
코드가 JAX-WS를 사용하여 실행될 수 있도록 8.0.1.1 이전의 EGL 버전으로 작성된 코드를 변환하려는 경우에는 해당 코드를 사용 중인 인터페이스 파트, 레코드 파트 또는 서비스 스켈레톤을 다시 작성하십시오.
다음 경우 중 하나에 해당하면 인터페이스 파트, 레코드 파트 또는 서비스 스켈레톤을 다시 작성하지 않아도 됩니다.- 버전 8.0.1.1 이상에서 작성된 코드를 생성하거나 배치합니다. 또는
- JAX-RPC도 사용할 수 있도록 구성된 대상 프로젝트에서 이전 코드를 다시 생성하거나 다시 배치합니다.
- getContext 시스템 함수를 사용하는 코드가 있는 경우에는 JAX-RPC와 JAX-WS 사이를 전환할 때 이 코드를 변경해야 합니다. 이는 JAX-RPC와 JAX-WS에서 getContext가 리턴하는 오브젝트가 서로 다르기 때문입니다. 세부사항은 "getContext"를 참조하십시오.
대상 프로젝트가 JAX-WS 또는 JAX-RPC를 사용하도록 구성되었는지 판별하는 요소는 배치 디스크립터 편집기의 개요 탭에 있는 선택란입니다. @WebBinding을 사용하는 서비스 요청에는 이 규칙의 변형이 사용되고 있으며, 이 특성은 서비스 액세스 세부사항을 코드 로직(구체적으로는 서비스 액세스 변수의 선언)에 직접 지정할 수 있게 해 줍니다. 이러한 경우, 서비스 요청의 구성 방식을 결정하는 요소는 요청자를 생성하는 데 사용된 빌드 디스크립터에서 참조하는 배치 디스크립터에 있는 선택란의 값입니다.
