이 규칙은 다음 기준에 기반한 JAX-RPC 웹 서비스가 있는지 발견합니다.
- web-services.xml 파일의 존재
- 동일한 폴더에 weblogic-webservices.xml 파일 및 webservices.xml 파일의 존재
수동 솔루션
WebLogic J2EE 웹 서비스 배포 설명자를 기반으로 JAX-RPC 웹 서비스를 생성하려면 특정 작업을 사용하여 Ant 스크립트를 수동으로 만들어야 합니다 IBM® Ant 작업을 사용하여 IBM Ant -생성 파일이 아직 없는 경우 스크립트를 프로젝트의 루트 폴더에 추가해야 합니다. 이러한 작업은 다음을 수행합니다 배포 디스크립터에서 JAX-RPC 웹 서비스 생성을 처리합니다.
규칙 특성
분석 중에 정확한 결과를 얻으려면 규칙 속성에 올바른 값을 제공해야 합니다. 이러한 속성을 검토하고 애플리케이션의 컨텍스트에 따라 적절하게 구성해야 합니다. 이 규칙의 특성은 다음과 같습니다.
- 생성된 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) 클래스를 생성합니다.
SEI 인터페이스는 클래스가 확장해야 한다는 점에서 EJB 원격 인터페이스와 다릅니다.
java.rmi.Remote
각 메소드는 예외를 처리해야 합니다.
java.rmi.RemoteException
.
자동화된 수정은 EJB에서 Java 반영을 사용하여 새로운 SEI를 생성합니다 원격 인터페이스를 사용하여 새 SEI를 생성합니다.
따라서 Eclipse 프로젝트 클래스 경로에 다음이 포함되어 있는지 확인하세요 필요한 모든 클래스, JAR 파일 및 디렉터리를 포함해야 합니다 를 모두 포함해야 합니다.
SEI는 사용자가 규칙에 제공한 생성 폴더 내부의 sei 폴더에서 생성해야 합니다 규칙에서 사용자가 제공한 생성 폴더에 생성되어야 합니다 속성. SEI 패키지는 EJB 원격 인터페이스와 일치합니다 패키지와 일치하며 SEI 이름은 EJB 원격 인터페이스와 동일합니다 라는 단어가 추가됩니다.또한 프로젝트 클래스 경로에 새 SEI 폴더 이 프로젝트 클래스 경로에 추가됩니다.
- Java 클래스 컴포넌트:
EJB 구성 요소와 마찬가지로, 자동화된 수정은 서비스 엔드포인트 인터페이스( 속성에 정의된 Java 클래스에서 서비스 엔드포인트 인터페이스를 생성합니다.
- 생성된 Ant 대상:
생성된 Ant 스크립트에는 다음을 위한 타깃이 포함되어 있습니다 생성될 새 SEI를 기반으로 WSDL 파일과 JAX-RPC 서비스를 생성합니다 가 생성됩니다.
WSDL 생성 대상의 이름에는 genWSDL_ssss가 있으며, 여기서 ssss는 <web-service> 요소의 name 속성 필드에 제공된 JAX-RPC 서비스의 이름입니다.
서비스 생성 대상의 이름에는 genService_pppp가 있으며, 여기서 pppp는 <stateless-ejb> 또는 <java-class> 요소의 name 속성의 컴포넌트 이름입니다.
자동화된 수정은 제공된 정보를 사용하지 않습니다 <핸들러-체인>, <유형> 등 다른 요소에서 제공된 정보를 사용하지 않습니다, <운영>, <보안> 등과 같은 다른 요소는 사용하지 않습니다.
webservices.xml 파일에 정의된 JAXRPC 서비스
webservices.xml 파일에 정의된 서비스의 유형 및 정보에 기반하여,
Ant 스크립트는 JAX-RPC 서비스를 재생성하도록 생성됩니다.
- 생성된 Ant 대상:
생성되는 Ant 스크립트에는 WSDL 파일 및 JAX-RPC 서비스를 생성하기 위한 대상이 있습니다.
WSDL 생성 대상은 다음과 같은 경우에만 생성됩니다 요소에 정의된 대로 WSDL 파일을 찾을 수 없는 경우에만 생성됩니다, <wsdl-file>.
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 대상이 실행되면, 생성된 아티팩트가 생성 폴더에 상주합니다. 그러면, 사용자는 생성된 코드 및 배치 디스크립터를 검사한 후
이러한 아티팩트를 각각의 모듈에 추가할 수 있습니다.