명령행에서 EJB2WebService 도구를 사용하면
IBM® WebSphere® 런타임 환경을 사용하는
EJB Bean에서 웹 서비스를 생성할 수 있습니다. EJB2WebService13 명령은
EJB v2.0 및 J2EE 1.3을 지원하는 반면, EJB2WebService 명령은
EJB 2.1 및 J2EE 1.4를 지원합니다.
구문
명령행을 설정했다면 다음 구문과 인수를 사용하여
도구를 실행할 수 있습니다.
- Windows: EJB2WebService
[<선택 인수>] -project <ProjectName> -ri <RemoteInterface> <EJB.ear>
- Linux: EJB2WebService.sh
[<선택 인수>] -project <ProjectName> -ri <RemoteInterface> <EJB.ear>
참고: <EJB.ear>은 마지막 인수여야
합니다.
인수
필수 인수:
- -project
- 프로젝트 이름을 지정합니다. 이 인수는 생성되는 모든 파일을
저장할 디렉토리를 현재 작업 디렉토리 아래에 생성하는 데 사용됩니다.
프로젝트 이름이 이미 있는 경우 기존 EAR 파일의 백업 사본이
작성됩니다. 예를 들어 MyWebService라는 프로젝트가 있는 경우
MyWebService.ear 파일의 이름이 MyWebService.ear.backup으로 재지정됩니다.
- -ri
- 엔터프라이즈 Bean의 원격 인터페이스에 이름을 지정합니다.
이는 완전한 패키지 이름이어야 합니다(예: com.ibm.wsdk.testing.TestBeanRemote).
- <EJB.ear>
- 기존 EAR 파일의 완전한 경로 이름을 지정합니다.
이 파일은 적어도 하나의 EJB 모듈 JAR 파일을 포함합니다. 생성되는 WSDL 파일의 파트 이름 속성에
메소드에 필요한 올바른 매개변수 이름이 포함되도록, -g 옵션을
사용하여 EJB 클래스를 컴파일하십시오.
선택 인수:
- -methods <메소드 목록>
- 엔터프라이즈 Bean에서 웹 서비스로 노출시킬 공개, 비정적 메소드를
지정합니다. 기본값은 이에 해당되는 모든 메소드를 포함시키는
것입니다. <메소드 목록>에 지정하는 메소드는 공백으로
구분해야 합니다.
- -clientType <J2SE | Application | Servlet | EJB>
- 지정된 클라이언트 유형에 사용할 스켈레톤 구현 클래스를
생성합니다. 이 인수는 -genMain 인수를 사용할 때만 지정할 수
있습니다. -server-side-only 인수를 이미 지정한 경우에는
이 인수를 사용할 수 없습니다.
- -genMain <기본 클래스 이름>
- 생성할 기본 클래스의 이름을 지정합니다. 이 인수는 -clientType 인수를 사용할 때만
지정할 수 있습니다. -server-side-only 인수를 이미 지정한 경우에는
이 인수를 사용할 수 없습니다.
- -host <hostName:portNumber>
- 호스트 이름과 포트 번호를 지정합니다. 기본값은
localhost:6080입니다.
- -contextRoot <ContextRoot>
- 웹 서비스에 사용할 컨텍스트 루트를 지정합니다. 이 인수의 기본값은
<ProjectName>입니다.
- -servicePortName <PortName>
- 웹 서비스에 사용할 포트 번호를 지정합니다. 이 인수의 기본값은
EJB Bean의 이름입니다.
서비스 엔드포인트의 URL을 지정하려면
-host, -contextRoot 및
-servicePortName 인수를 사용하십시오.
형식은 http://hostName:portNumber/<ContextRoot>/services/<PortName>입니다.
- -sei <interface.java>
- 사전 작성된 서비스 엔드포인트
인터페이스(Java™ 소스 코드 파일)의
완전한 경로 이름을 지정합니다. 경로 이름을 지정하지 않으면
런타임에 도구에서 경로 이름을 동적으로 생성합니다.
- -server-side-only
- 서버측 헬퍼 클래스만 생성합니다. 기본값은 서버측 헬퍼 클래스와 클라이언트측
헬퍼 클래스를 모두 생성하는 것입니다.
- -clientEJBName <EJB 클라이언트 파일 이름>
- 클라이언트 EJB 파일의 정보를 사용하여 클라이언트측
webservicesclient.xml 디스크립터에 클라이언트 애플리케이션의 이름을 구성합니다.
이 인수를 지정하지 않을 경우 클라이언트 EJB 파일에 추가하기 전에
webservicesclient.xml을 수동으로 편집해야 합니다.
- -style <스타일 유형>
- <스타일 유형>에 지정된
rpc, doc 또는
wrapped 스타일로 WSDL을 생성합니다. 기본 스타일은
Wrapped입니다. -style=DOC를 설정할 경우
랩핑되지 않은 WSDL이 생성됩니다.
- -use <바인딩>
- <바인딩>에 지정된 대로 literal 또는
encoded 중 하나로 WSDL을 생성합니다.
기본값은 literal입니다.
- -splitWsdl
- 배치되지 않은 개별 인터페이스와 구현 WSDL 문서를
생성합니다. 기본값은 인터페이스 및 구현 정보가 결합된 단일 문서를
작성하는 것입니다.
중요:
이 인수를 사용할 경우 EAR 파일이 생성되지만,
생성된 EAR 파일을 작업공간으로 가져와서 단위 테스트 환경이나
원격 서버에 배치한 후에 서버를 시동하면 예외가
발생합니다. 이 예외는 라우터 웹 프로젝트에 WSDL이 없어서
발생하는 것입니다. 이 오류를 방지하려면 다음 중 하나를 수행하십시오.
- 관리 콘솔을 사용하여 독립형 WebSphere Application
Server에 배치하십시오.
- 모놀리식(monolithic) WSDL을 사용하십시오. 즉 -splitWsdl 인수를 사용하지 마십시오.
- EJB 프로젝트의 META-INF/wsdl 디렉토리에 있는
모든 WSDL 파일을 라우터 웹 프로젝트의 WEB-INF/wsdl로
직접 복사하십시오.
- - wsSecDir <디렉토리>
- WS-Security 정보를 사용하여 생성되는 배치 디스크립터를 구성할
템플리트가 포함된 디렉토리의 완전한 경로를 지정합니다.
클라이언트측 바인딩을 생성할 경우 디렉토리에 ibm-webservices-bnd.xmi,
ibm-webservices-ext.xmi 파일과 ibm-webservicesclient-bnd.xmi 및 ibm-webservicesclient-ext.xmi 파일이
포함되어야 합니다.
- -PkgtoNS <패키지> <네임스페이스>
- 네임스페이스에 대한 Java 패키지의
맵핑을 지정합니다. 네임스페이스가 없는 패키지가 검색될 경우
적합한 네임스페이스 이름이 생성됩니다. 이 인수는 반복 지정할 수 있으므로
여러 패키지에 대한 맵핑을 지정할 수 있습니다.
- -voidReturn [ONEWAY | TWOWAY]
- void 리턴 메소드를 요청/응답 조작(기본값) 또는 단방향 조작으로
설정할지 여부를 지정합니다.
- -verbose
- 도구를 실행하면 추가 정보를 표시합니다.
- -help
- 도움말 정보를 표시합니다.
참고: -deploy 옵션은
지원되지 않습니다.