EJB2WebService 도구를 사용하여 웹 서비스 작성

명령행에서 EJB2WebService 도구를 사용하면 IBM® WebSphere® 런타임 환경을 사용하는 Stateless 세션 EJB Bean에서 웹 서비스를 생성할 수 있습니다.

시작하기 전에

참고: EJB2WebService13 명령은 EJB v2.0 및 J2EE 1.3을 지원하는 반면, EJB2WebService 명령은 EJB 2.1 및 J2EE 1.4를 지원합니다.

명령행 설정

About this task

EJB2WebService 도구를 사용하기 전에 웹 서비스 명령행을 다음과 같이 설정해야 합니다.

Procedure

  1. 명령 프롬프트에서 install_directory/bin으로 변경하십시오.
  2. 아래의 일괄처리 스크립트를 실행하십시오.
    • Windows:

      setupenv.bat

    • Linux:

      . setupenv.sh  

  3. 웹 서비스를 작성할 디렉토리로 변경하십시오. 이 디렉토리를 명령행 테스트 디렉토리라고 하겠습니다. Linux: 이 디렉토리에 대한 쓰기 액세스 권한이 있어야 합니다.

Results

이제 EJB2WebService 도구를 사용하여 내보낸 EAR 파일에서 웹 서비스를 작성할 수 있습니다.

웹 서비스 작성

Before you begin

참고: EJB2WebService 도구는 2가지 버전이 있습니다. EJB2WebService 명령을 실행하면 J2EE 1.4가 사용됩니다. 또는 J2EE 1.3을 사용하는 EJB2WebService13 명령을 사용할 수도 있습니다. J2EE 1.3을 사용하는 웹 서비스를 작성하려는 경우, 아래 명령에서 EJB2WebServiceEJB2WebService13으로 모두 대체하면 됩니다.

About this task

EJB2WebService 도구를 사용하여 웹 서비스를 작성하려면 명령 프롬프트에 다음을 입력하십시오.

Procedure

Results

참고: <EJB.ear>은 마지막 인수여야 합니다.  선택 및 필수 인수의 목록은 EJB2WebService 도구를 참조하십시오.

힌트:
  • 선택 인수인 -host <hostname:port>를 지정하는 것이 좋습니다. 이 명령의 기본 포트는 6080이지만 WebSphere ApplicationServer의 기본 포트는 9080입니다.
  • 명령행 테스트 디렉토리 경로와 -project에 지정한 이름을 기록해두십시오. 이 정보는 웹 서비스를 배치하고 테스트할 때 필요합니다.

예제

다음 예제는 EJB2WebService 도구를 사용하는 방법을 보여줍니다.

EJB2WebService -host localhost:9080 -ri MyEJB.remoteInterface -project MyEJBProject MyEJB.ear

EJB2WebService 도구의 기본 출력은 생성된 디렉토리 구조의 루트에 있는 <ProjectName>EAR.ear이라는 원래 EAR 파일의 수정 버전입니다. META-INF 디렉토리는 <ProjectName> 아래에도 생성됩니다. 이 디렉토리는 생성된 WSDL 파일, Java™ 클래스 등을 포함합니다. -server-side-only 인수를 지정하지 않을 경우, 사용 중인 복합 유형에 대한 직렬화기 및 역직렬화기 클래스를 포함하여, 추가 Java 파일이 포함된 클라이언트측 디렉토리도 작성됩니다.

EAR 파일을 생성한 후에는 다른 사용자가 사용하도록 서버에 배치할 수 있습니다.

What to do next

중요: -splitWsdl 인수를 사용할 경우 EAR 파일이 생성되지만, 생성된 EAR 파일을 작업공간으로 가져와서 단위 테스트 환경이나 원격 서버에 배치한 후에 서버를 시동하면 예외가 발생합니다. 이 예외는 라우터 웹 프로젝트에 WSDL이 없어서 발생하는 것입니다. 이 오류를 방지하려면 다음 중 하나를 수행하십시오.
  • 관리 콘솔을 사용하여 독립형 WebSphere Application Server에 배치하십시오.
  • 모놀리식(monolithic) WSDL을 사용하십시오. 즉 -splitWsdl 인수를 사용하지 마십시오.
  • EJB 프로젝트의 META-INF/wsdl 디렉토리에 있는 모든 WSDL 파일을 라우터 웹 프로젝트의 WEB-INF/wsdl로 직접 복사하십시오.

클라이언트 구현 코드 컴파일

About this task

클라이언트 코드를 컴파일하려면 다음을 수행하십시오.

Procedure

  1. <ProjectDir> 디렉토리로 변경한 다음, 클라이언트측 디렉토리로 변경하십시오.
  2. 구현 코드가 .jar 파일이나 .class 파일 디렉토리 등에 종속되는 경우, 컴파일 스크립트를 편집하여 해당 종속 항목의 전체 경로 이름을 USER_CLASSPATH 변수에 추가하십시오. 예를 들면 다음과 같습니다.
    • Windows: set USER_CLASSPATH = c:\MyJars\webservice.jar;c:\MyClasses
    • Linux: USER_CLASSPATH = /home/MyJars/webservice.jar:/home/MyClasses
  3. buildclient_new 명령을 입력하십시오.

피드백