1. wsdl2java
wsdl2java은 JAX-RPC 웹 서비스를 위한 툴로 WSDL 파일로부터 다음의 파일을 생성한다.
-
클라이언트의 웹 서비스 Stub Java 소스 코드들
-
서버의 웹 서비스 인터페이스 Java 소스 코드들
다음은 툴 사용법, 파라미터 및 예제에 대한 설명이다.
-
사용법
Usage: wsdl2java mode [options] wsdlURI where mode include: -gen:client generate all client artifacts -gen:server generate all server artifacts -gen same as -gen:client -import:client generate client JSR-109 portable artifacts only -import:server generate server JSR-109 portable artifacts only -import same as -import:client where [options] include: * destination directory -d <directory> specify where to put output files -cd <directory> specify where to put compiled class files If not specifed, the compile class files will be put in where '-d' specifies * WSDL and Java mapping -inputmapping <filename> specify the input JSR-109 JAX-RPC mapping file (used for generating Java artifacts) -package <package_name> specify the java package name to which all namespaceURI in the WSDL map -ns2pkg NS=PKG specify the namespaceURI and java package name mapping (NS : namespaceURI, PKG : java package name) This option can be used serveral times * output file -outputmapping <filename> specify the output JSR-109 JAX-RPc mapping file for the input WSDL This option can not be used with '-inputmapping' -compile compile generated Java source files ('tools.jar' must be in the classpath) -nokeepsrc delete generated java source files * artifact generation options -nowrapped disable wrapped mode detection for the WSDL -datahandleronly force jakarta.activation.DataHandler for MIME types -nodatabinding force jakarta.xml.soap.SOAPElement for all WSDL parts -soapver <VER> specify SOAP version used in stub/tie class. VER : '11' for SOAP 1.1, '12' for SOAP 1.2 -resolvedir directory specify directory where to be put local copies of include/import schemas and import WSDL * other options -username username to access the WSDL-URI -password password to access the WSDL-URI * verbose options -level <LEVEL> specify log level. LEVEL : SEVERE, WARNING, INFO, FINE, FINER, FINEST -verbose same as -level FINE
-
파라미터
파라미터 설명 -gen:client
클라이언트 측 Java 클래스를 생성한다.
-gen:server
서버 측 Java 클래스를 생성한다.
-gen
-gen:client와 동일하다.
-import:client
클라이언트 측 Portable Artifact를 생성한다.
-import:server
서버 측 Portable Artifact를 생성한다.
-import
-import:client와 동일하다.
-d <directory>
결과 파일이 생성될 디렉터리를 지정한다.
-cd <directory>
컴파일된 클래스 파일이 생성될 디렉터리를 지정한다.
-inputmapping <filename>
Java 클래스를 생성하기 위하여 사용되는 입력 JAX-RPC 매핑 파일을 지정한다.
-package <package_name>
WSDL의 모든 Namespace URI에 대한 Java 패키지 이름을 지정한다.
-ns2pkg NS=PKG
Namespace URI에 대한 Java 패키지 이름을 지정한다.
-
NS: Namespace URI
-
PKG: Java 패키지 이름
-outputmapping <filename>
입력 WSDL에 대한 출력 JAX-RPC 매핑 파일을 지정한다.
-compile
생성된 Java 파일을 컴파일한다.
-nokeepsrc
생성된 Java 소스 파일을 유지하지 않고 삭제한다.
-nowrapped
WSDL에 대한 wrapped 모드 탐지를 사용할 수 없게 한다.
-datahandleronly
MIME 타입에 대하여 jakarta.activation.DataHandler를 적용하게 한다.
-nodatabinding
모든 WSDL massage part에 대하여 jakarta.xml.soap.SOAPElement를 적용하게 한다.
-soapver <VER>
stub/tie 클래스에서 사용되는 SOAP 버전을 지정한다.
-
11: SOAP 1.1
-
12: SOAP 1.2
-resolvedir <directory>
원격의 WSDL 파일(스키마 파일 포함)을 접근 가능한 저장소에 저장하고자 할 때 사용한다.
-username
WSDL-URI에 접근하기 위한 사용자명이다.
-password
WSDL-URI에 접근하기 위한 패스워드이다.
-level <LEVEL>
로그 레벨을 지정한다.
-verbose
로그를 화면에 출력한다.
-
-
예제
wsdl2java는 JEUS_HOME/bin/ 디렉터리에 위치한 일반적인 스크립트 파일이다.
wsdl2java 툴을 실행하는 예는 다음과 같다.
$ wsdl2java -gen:client -d build/classes -outputmapping build/classes/web/WEB-INF/jaxrpcmapping.xml -compile http://localhost:8088/AddNumbers/addnumbers?wsdl
위의 명령어는 원격의 "http://localhost:8088/AddNumbers/addnumbers?wsdl" WSDL 문서를 통해 웹 서비스 클라이언트를 위한 Stub 및 서비스 인터페이스들을 생성한다.
여기에서 Stub 및 서비스 인터페이스들은 "build/classes" 디렉터리에 생성되며 JAX-RPC 매핑 파일은 "build/classes/web/WEB-INF"에 생성된다. [-compile] 옵션으로 생성되는 Stub 및 서비스 인터페이스들은 컴파일이 된다.