이 규칙은 다음 기준에 기반한 JAX-RPC 웹 서비스가 있는지 발견합니다.
- web-services.xml 파일의 존재
- 동일한 폴더에 weblogic-webservices.xml 파일 및 webservices.xml 파일의 존재
빠른 수정사항
소스 스캐너에서 이 규칙은 특정 IBM(R) Ant 태스크가 있는 Ant 스크립트를 생성합니다. 이러한 태스크는 WebLogic J2EE 웹 서비스 배치 디스크립터에 기반한 JAX-RPC 웹 서비스를 생성합니다. 빠른 수정사항은 웹 서비스 배치 디스크립터를 스캔하고 IBM Ant 생성 파일이 프로젝트의 루트 폴더에 없으면 Ant 스크립트를 생성합니다. 이 스크립트에는 JAX-RPC 웹 서비스를 생성하는데 필요한 IBM Ant 태스크가 있습니다.
규칙 특성
규칙 특성의 올바른 값을 제공해야 합니다. 이 규칙에 대한 특성 값을 변경하려면, 소프트웨어 분석기 구성 창에서 규칙을 선택하십시오. 그런 다음,
특성 탭의 필드를 사용하십시오. 이 규칙의 특성은 다음과 같습니다.
- 생성된 Ant 스크립트 이름
:
생성될 새 Ant 스크립트의 이름을 지정합니다. 스크립트
이름은 유효한 파일 이름이어야 합니다. 값에 앞으로 슬래시 또는 뒤로 슬래시가 없어야 합니다.생성되는 스크립트는 프로젝트의 루트 폴더에 있습니다.
기본값: build-ibm-ws.xml
- 생성 폴더 이름 :
생성 아티팩트가 상주하는 폴더의 이름을 지정하십시오. 값에 앞으로 슬래시 또는 뒤로 슬래시가 없어야 합니다.생성 폴더는 프로젝트의 루트 폴더에 있습니다.
기본값: ibm-ws-gen
Ant 클래스 경로
Ant 클래스 경로는 Eclipse 프로젝트에서 계산됩니다.
편집에 필요한 모든 요소가 Eclipse 클래스 경로에 있는지 확인하는 것이 중요합니다.
web-services.xml 파일에 정의된 JAX-RPC 서비스
웹 서비스 엔트포인트 인터페이스를 표시하는 추가 Java 코드와 Ant 스크립트를 생성하여 web-services.xml에 정의된 서비스의 유형 및 정보를 기반으로
JAX-RPC 서비스를 재생성합니다.
- 지원되는 컴포넌트
Stateless 세션 엔터프라이즈 Bean(<stateless-ejb>) 및 Java(R)(<java-class>) 컴포넌트만 인식되고 변환됩니다.
- Stateless EJB 컴포넌트:
Enterprise JavaBeans(TM)(EJB) JAR 파일은 <ejb-link> 요소의 경로 속성에 정의된대로 해당 프로젝트에 있어야 합니다. 빠른 수정사항은
EJB JAR 파일을 스캔하고 EJB 원격 클래스에 기반한 서비스 엔드포인트 인터페이스(SEI)를 새로 생성합니다.
클래스는 java.rmi.Remote를 확장해야 하고 각 메소드는 예외(java.rmi.RemoteException)를 처리해야 한다는 점에서 SEI 인터페이스는 EJB 원격 인터페이스와 다릅니다.
빠른 수정사항은 EJB 원격 인터페이스에서 Java 리플렉션을 사용하여 새 SEI를 생성합니다. 따라서, 모든 필수 클래스, JAR 파일, 폴더 등을
Eclipse 프로젝트 클래스 경로와 함께 설정해서 빠른 수정사항이 EJB 원격 클래스를 올바르게 로드하도록 해야 합니다.
SEI는 규칙 특성에 사용자가 제공한 바와 같이 폴더, sei, 생성 폴더 내부에 생성됩니다. SEI 패키지는 EJB 원격 인터페이스
패키지와 일치하고 SEI 이름은 SEI 단어가 추가된 EJB 원격 인터페이스와 동일합니다. 이밖에도, 새 SEI 폴더는
프로젝트 클래스 경로에 추가됩니다.
- Java 클래스 컴포넌트:
EJB 컴포넌트와 유사하게, 빠른 수정사항은 <class-name> 속성에 정의된 Java 클래스의 서비스 엔드포인트 인터페이스를 생성합니다.
- 생성된 Ant 대상:
생성되는 Ant 스크립트에는 빠른 수정사항 중에 작성된 새 SEI에 기반한 JAX-RPC 서비스 및 WSDL 파일을 생성하기 위한 대상이 있습니다.
WSDL 생성 대상의 이름에는 genWSDL_ssss가 있으며, 여기서 ssss는 <web-service> 요소의 name 속성 필드에 제공된 JAX-RPC 서비스의 이름입니다.
서비스 생성 대상의 이름에는 genService_pppp가 있으며, 여기서 pppp는 <stateless-ejb> 또는 <java-class> 요소의 name 속성의 컴포넌트 이름입니다.
빠른 수정사항은 기타 요소(예: <handlers-chain>, <types>,
<operations>, <security> 등)에 제공된 정보를 사용하지 않습니다.
webservices.xml 파일에 정의된 JAXRPC 서비스
webservices.xml 파일에 정의된 서비스의 유형 및 정보에 기반하여,
Ant 스크립트는 JAX-RPC 서비스를 재생성하도록 생성됩니다.
- 생성된 Ant 대상:
생성되는 Ant 스크립트에는 WSDL 파일 및 JAX-RPC 서비스를 생성하기 위한 대상이 있습니다.
WSDL 생성 대상은 빠른 수정사항이 <wsdl-file> 요소에 정의된 WDSL 파일을 찾을 수 없는 경우에만 생성됩니다.
WDSL 파일이 작성되는 경우, WSDL 생성 대상의 이름에는 genWSDL_ssss가 있으며
여기서 ssss는 <webservice-description-name> 요소에 정의된 서비스의 이름입니다.
서비스 생성 대상의 이름에는 genService_pppp가 있으며, 여기서 pppp는 <port-component-name> 요소에 의해 정의된 포트의 이름입니다.
IBM WebSphere Application Server Ant 태스크
WebSphere(R) Application Server에는 JAX-RPC 서비스에 필요한 아티팩트를 생성하기 위한 Ant 태스크(예: java2wsdl
및 wsdl2java)가 있습니다. 생성된 Ant 스크립트는 이러한 태스크를 사용하여 서비스를 빌드합니다.
이러한 태스크에 대한 추가 정보는
WebSphere Application Server 문서에서 얻을 수 있습니다.
Ant 스크립트 실행
빠른 수정사항만 Ant 스크립트를 생성하고, 스크립트를 보며, 필요 시 추가 사용자 정의를 추가합니다.
IBM Ant 태스크에 대한 추가 사용자 정의는 애플리케이션 서버 문서를 참조하십시오.
WebSphere Application Server에 포함된
Ant 도구를 사용하여 스크립트를 실행해야 합니다. IBM Ant 스크립트는
다음에서 실행할 수 있습니다.
- WAS_HOME\bin\ws_ant.bat - Windows(R) 운영 체제
- WAS_HOME\bin\ws_ant.sh - UNIX(R) 운영 체제
예제: c:\IBM\AppServer\bin\ws_ant.bat -f
c:\eclipse\MyProject\ibm-ws-gen.xml genService_TestService
Ant 대상이 실행되면, 생성된 아티팩트가 생성 폴더에 상주합니다. 그러면, 사용자는 생성된 코드 및 배치 디스크립터를 검사한 후
이러한 아티팩트를 각각의 모듈에 추가할 수 있습니다.