WSDL2WebService 도구는 다음과 같은 3단계로 사용됩니다.
참고: 1단계를 여러 번 수행하여 관련된 웹 서비스를 동일한 프로젝트 디렉토리에 작성할 수 있습니다. 그런 다음, 3단계에서 각 웹 서비스에 대한 개별 모듈을 작성하여 이러한 모듈을 동일한 EAR 파일에 추가할 수 있습니다.
WSDL2WebService 도구를 사용하기 전에 웹 서비스 명령행을 다음과 같이 설정해야 합니다.
이제 WSDL2WebService 도구의 1단계를 실행할 수 있습니다.
스켈레톤 웹 서비스 구현을 작성하려면 명령 프롬프트에 다음을 입력하십시오.
참고: 마지막 인수는 <WSDL URI>여야 하며 대소문자를 구분합니다. 필수 및 선택 인수의 목록은 WSDL2WebService 도구를 참조하십시오.
-createService <ServiceName> 인수를 사용하여 도구를 실행하면, 지정된 프로젝트 아래에 <ServiceName> 이름을 갖는 디렉토리가 작성됩니다. 이 디렉토리는 여러 개의 서브디렉토리를 포함합니다. 서브디렉토리에는 웹 서비스 구현을 빌드하는 데 필요한 Java 템플리트가 모두 포함되어 있습니다.
다음 예제는 WSDL2WebService 도구를 사용하는 방법을 보여줍니다.
WSDL2WebService -createService ejb1Service -project dir:\myproj\ejbDir -host localhost:9080 -contextRoot ejb1Service -type EJB -verbose dir:\TempConv.wsdl
작성할 웹 서비스를 제대로 구현하기 위해서는 스켈레톤 Java 파일을 수정해야 합니다. Java 스켈레톤에 올바른 코드를 추가한 후에는 코드를 컴파일해야 합니다. 이러한 코드를 모두 컴파일할 수 있도록 compile이라는 빌드 스크립트도 생성됩니다.
구현 클래스를 컴파일하려면 다음을 수행하십시오.
서비스를 작성하여 구현 코드를 Java 스켈레톤에 추가하고 새 코드를 컴파일했다면, 웹 서비스 가능 아카이브를 작성해야 합니다. 웹 서비스 사용 가능 아카이브를 작성하려면 명령 프롬프트에 다음을 입력하십시오.
필수 및 선택 인수에 대한 설명은 WSDL2WebService 도구를 참조하십시오.
힌트: 웹 서비스를 배치하고 테스트하려면 명령행 테스트 디렉토리 경로와 -project에 지정한 이름을 기록해두십시오.
구현 코드를 작성하여 컴파일한 후 -createEar <File.ear> 인수와 함께 도구를 다시 실행하면 새 EAR 파일이 작성되거나 EAR 파일이 업데이트됩니다. 이 EAR 파일은 -add 인수에 지정된 각 웹 서비스 이름에 대한 웹 서비스 모듈을 포함합니다. 또한 웹 서비스를 구현하는 서버측 클래스가 정상적 위치인 WEB-INF\classes 디렉토리로 이동된 것을 확인할 수 있습니다. -server-side-only 인수를 지정하지 않을 경우, 사용 중인 복합 유형에 대한 직렬화기 및 역직렬화기 클래스를 포함하여, 추가 Java 파일이 포함된 클라이언트측 디렉토리도 작성됩니다.
EAR 파일을 생성한 후에는 다른 사용자가 사용하도록 서버에 배치할 수 있습니다. 이를 수행하려면 명령행 도구를 사용하여 서버에 웹 서비스 배치를 참조하십시오.
WSDL2WebService -createEAR dir:\myear\ejb1ear.ear -project dir:\myproj\ejbDir -add ejb1Service -verbose localhost:9080/ejb1Service/services/TempConv
WSDL2WebService -createEar dir:\myear\ejb1ear.ear -rootModule ejb1Service/services/Service -host localhost:9080 -project dir:\myproj\MultiService
이를
실행하면 웹 서비스가 Service_WEB.war이라는 단일 모듈로 병합되며 이를 포함하는 MultiServiceEAR.ear이 작성됩니다. 모듈의 컨텍스트 루트는
Service_WEB입니다. WSDL 파일에 포함된 모든 서비스 엔드포인트의
호스트 이름과 포트 번호는 localhost:9080으로 변경됩니다. WSDL2WebService 도구는 내포된 하나 이상의 웹 서비스에서 액세스하는 JAR 또는 EJB 파일을 EAR 파일 루트에 배치하도록 허용하여 코드 재사용을 지원합니다. 모든 클래스를 서비스와 같이 동일한 이름의 JAR 파일로 아카이브하여 웹 서비스 구현을 재사용할 수 있습니다. 클래스를 JAR 파일로 아카이브하려면 다음 단계를 수행하십시오.