JAX-RPC 웹 서비스용 서비스 데이터 오브젝트(SDO) Facade 생성

JAX-RPC 1.1(JSR-101)은 WSDL 및 스키마에서 J2EE 1.4 Java™로의 표준 맵핑을 정의합니다. 맵핑의 스키마 부분은 선택사항, 대체 그룹, 단순 유형 제한, 와일드카드와 같은 몇 가지 공통 스키마 기능을 지원하지 않습니다. JAX-RPC 1.1에서는 지원되지 않는 스키마 유형을 Java SOAPElement 유형으로 맵핑하도록 요구합니다. 이로 인해, WSDL 파일을 빌드한 스키마에 따라 많은 프로그래밍 노력이 요구되는 Java Service Endpoint Interface 프로그래밍 모델이 필요해질 수 있습니다.

이 태스크 정보

마법사에서 기본적으로 사용되는 JAX-RPC 스키마와 Java 맵핑을 사용하는 대신, XML 스키마의 Java Eclipse EMF 2.2 SDO 표시를 사용할 수 있는 옵션이 있습니다. 이는 XML 스키마에 JAX-RPC 맵핑에서 제대로 처리하지 못하는 컨텐츠가 포함된 경우에 유용하게 사용됩니다. SDO Facade 생성은 WebSphere® Application Server v6.0 이상에 배치된 하향식 웹 서비스 및 웹 서비스 클라이언트에만 지원됩니다.

하향식 웹 서비스 또는 웹 서비스 클라이언트를 작성할 때 SDO Facade를 작성하려는 경우, SDO Facade를 가장 쉽게 생성하는 방법은 웹 서비스 마법사 환경 설정에서 SDO Facade 생성을 사용하도록 설정한 후 웹 서비스 마법사를 사용하면서 SDO Facade를 생성하는 것입니다. 데이터 바인딩을 사용하지 않고 SOAPElement를 사용 옵션을 선택한 상태에서 WebSphere JAX-RPC 런타임을 사용하는 웹 서비스 또는 클라이언트를 이미 작성한 경우, 서비스 또는 클라이언트가 작성 완료되면 SDO를 생성할 수 있습니다. 이 방법을 사용할 경우, 웹 서비스를 WebSphere Application Server v6.0에서 실행 중일 때만 필요한 동작, 즉 EMF 2.2 jar 파일을 EAR 프로젝트로 복사하는 동작을 수행하지 않고, 스키마에 포함된 각 네임스페이스의 패키지 이름을 변경할 수 있는 추가 옵션이 제공됩니다.

웹 서비스 마법사를 사용하여 SDO Facade 생성

About this task

하향식 웹 서비스 또는 웹 서비스 클라이언트를 작성할 때 웹 서비스 마법사에서 SDO를 생성하려면, 해당 마법사를 실행하기 전에 데이터 바인딩을 사용하지 않고 SOAPElement를 사용Java 클래스에서 SDO Facade 생성 환경 설정을 사용하도록 설정하십시오.

Procedure

  1. 창 > 환경 설정을 클릭하여 환경 설정 창을 여십시오.
  2. 웹 서비스 > WebSphere > JAX-RPC 코드 생성을 펼치십시오.
  3. WSDL2Java 탭에서 데이터 바인딩을 사용하지 않고 SOAPElement를 사용Java 클래스에서 SDO facade 생성을 선택하십시오. 확인을 클릭하십시오. 모든 유형을 SOAPElement로 맵핑하지 않은 경우 SDO Facade를 생성할 수 없습니다.
  4. 웹 서비스 또는 웹 서비스 클라이언트 마법사를 적절히 실행하십시오. SDO Facade는 배치 코드가 있어야만 생성할 수 있으므로, 마법사 첫 번째 페이지의 슬라이더를 적어도 배치 위치까지 이동시켜야 합니다.

수동으로 SDO Facade 생성

Before you begin

SDO Facade를 수동으로 생성하기 전에, 환경 설정에서 데이터 바인딩을 사용하지 않고 SOAPElement를 사용 옵션을 선택하고 웹 서비스를 작성해야 합니다. WebSphere Application Server v6.0 이상에 배치된 하향식 웹 서비스 및 클라이언트에 대한 SDO를 생성할 수 있습니다. 이전 버전의 웹 서비스 도구에서 작성한 웹 서비스 및 클라이언트도 포함됩니다.

Procedure

  1. Java Bean 스켈레톤 또는 웹 서비스 프록시 Java Bean을 선택하고 마우스 오른쪽 단추로 클릭한 후 웹 서비스 > Java에서 SDO 생성을 선택하십시오.
  2. 스켈레톤 Facade 또는 프록시 Facade를 생성할 위치를 선택하십시오.
  3. 원할 경우, EMF 2.2 jar 파일을 EAR 프로젝트로 복사하도록 선택할 수 있습니다. WebSphere Application Server v6.0 런타임을 사용하여 웹 서비스 또는 클라이언트를 작성한 경우, 이 런타임 버전은 이전 버전의 EMF를 사용하므로 해당 jar 파일을 EAR 프로젝트로 복사해야 합니다. WebSphere Application Server v6.1.0.3 이하의 런타임에서 웹 서비스 또는 클라이언트를 작성한 경우, 이러한 파일을 복사해야 합니다.
  4. 네임스페이스 데이터 찾아보기 옵션을 사용하여 각 네임스페이스의 패키지 이름을 변경하십시오. 패키지 이름은 스키마의 컨텐츠를 기초로 생성되지만, 생성된 이름을 원치 않을 경우 스키마에 포함된 각 네임스페이스의 패키지 이름을 변경할 수 있습니다.

What to do next

Important: 생성된 SDO 코드에 필요한 EMF 레벨과 WebSphere Application Server 내의 EMF 레벨이 충돌합니다. 이 문제를 해결하려면 다음을 수행하십시오.
  1. EAR 프로젝트가 1.2, 1.3 또는 1.4 스펙 레벨인 경우, 웹 서비스 애플리케이션에 대한 배치 디스크립터를 열고 배치 탭을 선택하십시오.
  2. EAR 프로젝트가 1.5 스펙 레벨인 경우, EAR을 마우스 오른쪽 단추로 클릭하고 WebSphere Application Server 배치 열기를 클릭하십시오.
  3. 애플리케이션 상자에서 클래스 로더 모드 필드를 parent_last로 설정하십시오. 이렇게 하면 상위로 클래스 로딩을 위임하기 전에, 클래스 로더가 해당 로컬 클래스 경로에서 클래스 로딩을 시도합니다.

EMF SDO가 포함된 웹 서비스 개발에 대한 자세한 예제는 복합 XML 스키마용 EMF SDO 포함 웹 서비스 개발 문서를 참조하십시오.


피드백