WebSphere JAX-RPC 런타임 환경을 사용하여 엔터프라이즈 Bean(EJB)에서 웹 서비스 작성

웹 서비스 마법사가 웹 서비스를 작성하고 배치할 수 있도록 구성하며 웹 서비스를 서버에 배치할 수 있도록 도와 드립니다. 웹 서비스를 배치하면, 마법사가 클라이언트 프록시 및 샘플 애플리케이션을 생성하여 웹 서비스를 테스트할 수 있도록 도와 드립니다. 테스트를 완료하면, 내보내기 마법사를 사용하여 웹 서비스 UDDI 비즈니스 레지스트리에 공개할 수 있습니다.

시작하기 전에

전제조건:

작성 중인 웹 서비스는 엔터프라이즈 Bean에 대한 클라이언트 역할을 수행합니다. 엔터프라이즈 Bean은 웹 서비스 마법사를 실행하기 전에 배치해야 합니다.

이 태스크 정보

참고: 이 제품은 Stateless 세션 엔터프라이즈 Bean에서 엔터프라이즈 Bean 웹 서비스를 작성하도록 지원합니다.

엔터프라이즈 Bean에서 웹 서비스 작성

Procedure

  1. Java™ EE 퍼스펙티브(창 > 퍼스펙티브 열기 > Java EE)로 전환하십시오.
  2. 엔터프라이즈 탐색기 보기에서 EJB 모듈을 펼친 후 웹 서비스를 생성할 세션 Bean을 선택하십시오.
  3. 파일 > 새로 작성 > 기타를 클릭하십시오. 다양한 웹 서비스 마법사를 표시하려면 웹 서비스를 선택하십시오. 웹 서비스 마법사를 선택하십시오. 다음을 클릭하십시오.
  4. 웹 서비스 페이지: 웹 서비스 유형 드롭 다운 목록에서 상향식 EJB 웹 서비스를 선택하십시오. 작업공간에서 사용 가능한 Stateless 세션 엔터프라이즈 Bean에서 서비스 구현을 선택하십시오. 다음을 수행하도록 선택할 수도 있습니다.
    1. 슬라이더를 사용하여 완료할 웹 서비스 개발 단계를 선택하십시오. 이를 수행하면 나머지 마법사 패널에 다음과 같은 여러 기본값이 설정됩니다.
      • 개발: 이 단계에서는 웹 서비스의 WSDL 정의 및 구현을 생성합니다. 여기에는 생성된 코드, WSDL 파일, 배치 디스크립터 및 Java 파일이 있는 경우 이를 포함하는 모듈 작성과 같은 태스크가 포함됩니다.
      • 어셈블: 이 단계에서는 웹 서비스 또는 클라이언트를 호스팅하는 프로젝트가 대상 애플리케이션 서버에서 필요할 때 EAR에 연관시킵니다. 라우터 모듈은 이 단계에서 작성됩니다.
      • 배치: 이 단계에서는 서비스 배치 코드를 작성합니다.
      • 설치: 이 단계에서는 대상 서버에 웹 모듈 및 EAR을 설치하고 구성합니다. WSDL 파일의 엔드포인트를 변경해야 하는 경우 이 단계에서 변경합니다.
      • 시작: 이 단계에서는 서비스를 서버에 설치하면 서버를 시작합니다.
      • 테스트: 이 단계에서는 일반 서비스 클라이언트, 웹 서비스 탐색기 또는 샘플 JSP 등 서비스 테스트에 사용할 수 있는 다양한 옵션을 제공합니다. HTTP 전송을 사용하는 웹 서비스를 테스트하려면 웹 서비스 탐색기를 사용해야 합니다.
    2. 서버 선택: 기본 서버가 표시됩니다. 다른 서버에 서비스를 배치하려면 링크를 클릭하여 다른 서버를 지정하십시오.
    3. 런타임 환경 선택: 기본 런타임 환경이 표시됩니다. 다른 런타임 환경에 서비스를 배치하려면 링크를 클릭하여 다른 런타임을 지정하십시오.
    4. 서비스 프로젝트 선택: 작업공간에서 선택된 프로젝트를 포함한 프로젝트가 표시됩니다. 다른 프로젝트 및 EAR을 선택하려면 프로젝트 링크를 클릭하십시오. 클라이언트 웹 프로젝트로 선택한 프로젝트가 서비스 웹 프로젝트와 다른지 또는 클라이언트에서 생성된 아티팩트가 서비스를 겹쳐쓰는지 확인하십시오.
    5. 클라이언트를 작성하려면 생성하려는 프록시 유형을 선택하고 클라이언트에 대해 위 단계를 반복하여 수행하십시오.
    6. 웹 서비스 공개: 웹 서비스를 UDDI 레지스트리에 공개할 수 있도록 웹 서비스 탐색기가 실행됩니다.
    7. 웹 서비스 모니터: 이 단계에서는 웹 서비스에서 생성된 SOAP 트래픽을 관찰하고 WS-I 준수를 확인하기 위해 이 트래픽을 테스트할 수 있는 TCP/IP 모니터를 통해 웹 서비스 트래픽을 송신합니다. 또는 웹 서비스 테스트를 위한 TCP/IP 모니터 사용에 설명된 대로 TCP/IP 모니터를 수동으로 설정할 수 있습니다. HTTP 전송을 사용하는 웹 서비스만 모니터할 수 있습니다. 또한 TCP/IP 모니터를 통해 웹 서비스 트래픽을 라우팅할 경우, 유니버셜 테스트 클라이언트를 사용하여 웹 서비스를 테스트할 수 없습니다.
  5. 웹 서비스 EJB 구성 페이지:
    1. 기존의 서비스 엔드포인트 인터페이스가 있는 경우, 선택하여 사용할 수 있습니다. 그렇지 않은 경우에는 웹 서비스 마법사에서 자동으로 생성됩니다.
    2. 바인딩 유형과 라우터 프로젝트를 선택하십시오. 선택한 각 바인딩 유형에 대해 라우터 프로젝트 이름을 입력하십시오.
    3. SOAP 조치를 설정하십시오. 이 옵션은 생성된 WSDL의 soapAction 필드를 설정하는 데 사용됩니다. 배치 정보에 따라 soapAction 필드가 기본값으로 설정됩니다. 없음인 경우 soapAction 필드가 큰따옴표("")로 설정됩니다. 오퍼레이션은 soapAction 필드를 오퍼레이션 이름으로 설정합니다.
    4. WSDL 1.1 표준을 사용하여 MIME 유형을 독점적으로 맵핑하도록 선택할 수도 있습니다. MIME 유형을 WSDL 1.1 표준으로 맵핑할 수 없는 경우(예: 첨부 파일이 배열이나 Java Bean 특성인 경우), 명령이 실패합니다.
  6. EJB 웹 서비스 바인딩 구성 페이지: 이전 페이지에서 EJB 또는 JMS 바인딩을 선택한 경우 해당 바인딩에 대한 정보를 입력하십시오.
    • JMS 대상 유형: 대상 유형을 큐, 토픽 중 하나로 선택하십시오.
    • JMS 대상: 대상 큐 또는 토픽의 JNDI 이름입니다.
    • JMS 연결 팩토리: 연결 팩토리의 JNDI 이름입니다.
    • JMS 대상 서비스: 요청을 디스패치할 포트 컴포넌트의 이름입니다.
    • JMS 리스너 입력 포트: 메시지 구동 Bean(MDB)과 연관시킬 리스너 입력 포트의 이름입니다.
    • JMS 초기 컨텍스트 팩토리: 사용할 초기 컨텍스트 팩토리의 이름입니다. 이는 java.naming.factory.initial 특성으로 맵핑됩니다.
    • JMS JNDI 제공자 URL: java.naming.provider.url 특성에 맵핑됩니다.
    • JMS 전달 모드: 요청 메시지의 지속 여부를 지정합니다.
    • JMS 지속 시간: 요청 메시지의 지속 시간(밀리초)입니다. 0 값은 무한 수명을 나타냅니다.
    • JMS 우선순위: 요청 메시지와 연관된 JMS 우선순위입니다.
    • JMS 사용자 ID: 연결 팩토리에 대한 액세스 권한을 얻는 데 사용할 사용자 ID입니다.
    • JMS 비밀번호: 연결 팩토리에 대한 액세스 권한을 얻는 데 사용할 비밀번호입니다.
  7. 웹 서비스 Java Bean ID 페이지: 이 페이지는 웹 서비스 URI 및 생성된 WSDL 파일의 위치를 나열합니다. 이 페이지에는 다음과 같은 옵션이 포함되어 있습니다.
    • 필요한 경우 WSDL 포트 이름을 변경하십시오.
    • 필요한 경우 WSDL 파일 이름을 또는 경로 변경하십시오. 이 필드에 경로 정보를 입력하면 META-INF/wsdl 폴더 안에 폴더가 작성됩니다. 이 옵션은 기본 폴더에 있는 기존의 WSDL 또는 XSD 파일을 겹쳐쓰지 않으려는 경우에 유용하게 사용할 수 있습니다.
    • 메소드 패널에는 Bean에 있는 메소드가 요약되어 표시됩니다. 생성된 웹 서비스에서 메소드를 포함하거나 제거하도록 선택할 수 있습니다.
    • void 리턴 설정 - 이 필드는 웹 서비스에서 응답이 예상되는지 여부를 설명하는 void 유형을 리턴하는 웹 서비스 메소드에 대한 필드입니다. Oneway: void 리턴이 있는 메소드가 단방향입니다. 이 인수는 JMS 전송의 기본값입니다. Twoway: void 리턴이 있는 메소드가 양방향입니다. 이 인수는 HTTP 전송의 기본값입니다.
    • 웹 서비스의 스타일 및 인코딩을 선택하십시오. 문서/리터럴만 WS-I와 호환됩니다.
    • 보안을 사용하려면 선택하십시오. 보안을 사용하면 웹 서비스가 WS-I와 호환되지 않습니다.
    • 네임스페이스 맵핑에 대해 사용자 정의 패키지를 정의하십시오.
    • 추가 및 중지 클래스를 지정하십시오. 추가는 WSDL 파일에서 표시된 다른 클래스를 지정합니다. -stopClasses 인수를 사용하여 검색을 중지시키는 추가 클래스를 정의할 수 있습니다.
  8. 웹 서비스 패키지에서 네임스페이스로의 맵핑 페이지: 웹 서비스 마법사는 지정된 Java Bean에서 WSDL 파일을 생성합니다. 기본적으로 Java Bean의 패키지 이름을 토대로 네임스페이스를 작성합니다. 이 기본 동작을 대체하려면 고유 네임스페이스가 WSDL 파일에 생성되도록 지정하면 됩니다. 이전 페이지에서, 패키지에서 네임스페이스로의 맵핑을 사용자 정의를 선택한 경우, 이 페이지에서 추가를 클릭하여 사용자 정의 맵핑 쌍을 입력할 수 있습니다. 또는 가져오기를 클릭하여 .properties 파일에서 사용자 정의 맵핑 쌍을 가져올 수 있습니다. 특성 파일의 컨텐츠는 package=namespace 형식이어야 합니다. 특성 파일에서는 일부 특수 문자를 이스케이프 처리해야 합니다. 예를 들어 somePackage=http://someNamespacesomePackage=http\://someNamespace와 같이 처리해야 합니다. 이렇게 하지 않으면 콜론(:)이 분리 문자로 처리되어 somepackage에서 http로 맵핑을 시도합니다. Java에서의 특성 파일 형식에 대한 자세한 정보는 Java 플랫폼 API 문서: java.util.Properties 로드 메소드를 참조하십시오.
  9. 웹 서비스 테스트 페이지: 웹 서비스를 테스트하도록 선택한 경우, 생성된 웹 서비스에 사용할 테스트 기능을 선택한 후 실행을 클릭하십시오. 그러면 웹 서비스가 웹 서비스 탐색기 또는 일반 서비스 클라이언트에서 열립니다. 테스트하려는 오퍼레이션을 선택하고 필수 정보를 입력한 다음 이동을 클릭하십시오. 결과가 상태 분할창에 표시됩니다. 웹 서비스를 테스트했으면, 브라우저 창을 닫고 다음을 클릭하십시오.
  10. 프록시를 생성하도록 선택한 경우 웹 서비스 프록시 페이지가 표시됩니다. 클라이언트 프록시는 사용자의 웹 서비스에 원격 프로시저 호출 인터페이스를 제공합니다. Java 클라이언트 프록시 폴더는 EJBWebProjectClient(기본값)로 지정됩니다. 원할 경우, 생성된 프록시에 보안을 사용하거나 사용자 정의 패키지에서 네임스페이스로의 맵핑을 정의할 수 있습니다.
  11. 웹 서비스 클라이언트 네임스페이스에서 패키지로의 맵핑 페이지: 이전 페이지에서, 네임스페이스에서 패키지로의 맵핑을 사용자 정의를 선택한 경우, 이 페이지에서 추가를 클릭하여 사용자 정의 맵핑 쌍을 입력할 수 있습니다. 또는 가져오기를 클릭하여 .properties 파일에서 사용자 정의 맵핑 쌍을 가져올 수 있습니다. 특성 파일의 컨텐츠는 namespace=package 형식이어야 합니다. 특성 파일에서는 일부 특수 문자를 이스케이프 처리해야 합니다. 예를 들어, http://someNamespace=somePackagehttp\://someNamespace=somePackage와 같이 처리해야 합니다. 이렇게 하지 않으면 콜론(:)이 분리 문자로 처리되어 http에서 //someNamespace=somePackage로 맵핑을 시도합니다. Java에서의 특성 파일 형식에 대한 자세한 정보는 Java 플랫폼 API 문서: java.util.Properties 로드 메소드를 참조하십시오.
  12. 생성된 프록시를 테스트하도록 선택한 경우 웹 서비스 클라이언트 테스트 페이지가 표시됩니다. 이 페이지에서는 다음과 같은 옵션을 선택할 수 있습니다.
    • 테스트 기능을 선택하십시오. 생성된 프록시를 유니버셜 테스트 클라이언트 또는 웹 서비스 탐색기에서 테스트하거나, 샘플 웹 서비스 JSP를 생성할 수 있습니다. TCP/IP 모니터를 통해 웹 서비스 트래픽을 라우팅하는 경우, 유니버셜 테스트 클라이언트를 사용하여 웹 서비스를 테스트할 수 없다는 점을 참고하십시오.
    • JSP를 통해 프록시를 테스트하도록 선택한 경우 JSP가 위치할 폴더를 선택할 수 있으며 JSP에 포함시킬 메소드를 선택할 수 있습니다.
  13. 웹 서비스를 공개하도록 선택한 경우, 웹 서비스 공개 페이지에서 웹 서비스를 공개할 UDDI 레지스트리를 선택하십시오. 완료를 클릭하십시오. 
  14. 웹 서비스를 작성한 후에 선택한 옵션에 따라 다음이 발생할 수 있습니다.
    • 웹 서비스 샘플 JSP를 사용하여 생성된 프록시를 테스트하도록 선택하면, 웹 브라우저의 URL: http://localhost: port/ EJBWebProjectClient/sampleBeanName/WebServiceName/TestClient.jsp에서 프록시가 시작됩니다. 이 샘플 애플리케이션에서 메소드를 선택하고 메소드 값을 입력한 다음 호출을 클릭하여 웹 서비스를 테스트할 수 있습니다. 메소드 결과가 결과 분할창에 표시됩니다.
    • 유니버셜 테스트 클라이언트를 사용하여 생성된 프록시를 테스트하도록 선택한 경우, 브라우저 창의 http://localhost:9080/UTC/preload?object=BeanPackage.BeanServiceProxy URL에서 유니버셜 테스트 클라이언트가 실행됩니다. 참조 분할창의 오브젝트 참조에서 프록시 스텁을 펼쳐 웹 서비스 메소드를 표시하십시오. 테스트하려는 메소드를 클릭하고 매개변수 분할창에 값을 입력한 다음 호출을 클릭하십시오. 결과가 아래 생성됩니다.
    • 웹 서비스 탐색기를 사용하여 웹 서비스를 테스트하도록 선택한 경우 탐색기가 열립니다. 테스트하려는 오퍼레이션을 선택하고 필수 정보를 입력한 다음 이동을 클릭하십시오. 결과가 상태 분할창에 표시됩니다.
    • 웹 서비스를 공개하도록 선택한 경우 웹 서비스 탐색기가 실행되고 웹 서비스를 IBM UDDI Test Registry에 공개하는 데 필요한 페이지가 표시됩니다. 이 태스크를 완료하려면 웹 서비스 공개의 지시사항에 따라 수행하십시오.

Results

EJB에 대한 자세한 정보는 EJB 애플리케이션 개발 문서를 참조하십시오. EJB에서 웹 서비스를 작성하는 샘플을 보려면 학습서 갤러리 및 샘플 갤러리를 참조하십시오.


피드백