1. wsgen
wsgen 툴은 JAX-WS 웹 서비스를 위한 툴이다. JAX-WS 웹 서비스를 위한 툴로 Java 클래스로부터 WSDL 파일과 JAX-RPC 매핑 파일을 생성하고, 웹 서비스 정책 설정 파일을 생성할 수도 있다.
wsgen 툴은 service endpoint interface 클래스(그리고 임의의 Java로 구현한 클래스)로부터 다음과 같은 것을 생성한다.
-
Portable Artifacts
-
웹 서비스의 WSDL 파일(옵션)
-
웹 서비스 정책 파일 wsit-<endpoint classname>.xml 파일(옵션)
다음은 툴 사용법, 파라미터 및 예제에 대한 설명이다.
-
사용법
Usage: wsgen [options] <SEI> where [options] include: -classpath <path> specify where to find input class files -cp <path> same as -classpath <path> -d <directory> specify where to place generated output files -extension allow vendor extensions - functionality not specified by the specification. Use of extensions may result in applications that are not portable or may not interoperate with other implementations -help display help -keep keep generated files -r <directory> resource destination directory, specify where to place resouce files such as WSDLs -s <directory> specify where to place generated source files -verbose output messages about what the compiler is doing -version print version information -wsdl[:protocol] generate a WSDL file. The protocol is optional. Valid protocols are [soap1.1, Xsoap1.2], the default is soap1.1. The non stanadard protocols [Xsoap1.2] can only be used in conjunction with the -extension option. -inlineSchemas inline schemas in the generated wsdl. Must be used in conjunction with the -wsdl option. -servicename <name> specify the Service name to use in the generated WSDL Used in conjunction with the -wsdl option. -portname <name> specify the Port name to use in the generated WSDL Used in conjunction with the -wsdl option. Examples: wsgen -cp . example.Stock wsgen -cp . example.Stock -wsdl -servicename {http://mynamespace}MyService
-
파라미터
파라미터 설명 -classpath <path>
입력 Java 클래스 파일들을 찾기 위한 경로를 기술한다.
-cp <path>
-classpath <path>와 동일하다.
-d <directory>
결과 파일이 생성될 디렉터리를 지정한다.
-extension
벤더 특정의 확장성을 명시할 때 사용한다. 상호 운용 및 이식성이 떨어질 수 있다.
-help
도움말을 출력한다.
-keep
생성되는 파일들을 보존한다.
-r <directory>
genwsdl 속성과 함께 사용한다. WSDL 파일을 생성할 위치를 지정한다.
-s <directory>
생성되는 소스 파일들의 위치를 설정한다.
-verbose
Verbose 메시지를 출력한다.
-version
버전 정보를 화면에 출력한다.
-wsdl[:protocol]
기본적으로 wsgen은 WSDL 파일을 생성하지 않는다. 이 옵션을 사용하면 개발자는 deploy되기 전에 WSDL 파일을 볼 수 있다.
[:protocol] 또한 옵션이며 기본값은 soap1.1 이다. Xsoap1.2 또한 사용할 수 있으며 -extension 옵션과 함께 사용한다.
-inlineSchemas
생성된 WSDL의 스키마를 인라인한다.
-wsdl 옵션과 함께 사용해야 한다.
-servicename <name>
-wsdl 옵션과 함께 사용한다. 생성되는 WSDL 파일의 특정 wsdl:service element의 이름을 설정한다.
-portname <name>
-wsdl 옵션과 함께 사용한다. 생성되는 WSDL 파일의 특정 wsdl:portname element의 이름을 설정한다.
-
예제
wsgen는 JEUS_HOME/bin/ 디렉터리에 위치한 일반적인 스크립트 파일이다.
wsgen 툴을 실행하는 예는 다음과 같다.
$ wsgen -classpath build/classes -d build/classes -wsdl fromjava.server.AddNumbersImpl
위의 명령어는 서비스 end-point 구현 클래스인 fromjava.server.AddNumbersImpl로부터 JAX-WS 웹 서비스를 구성한다. fromjava.server.AddNumbersImpl의 클래스 패스는 "build/classes"이며 WSDL 문서와 함께 JavaBean 파일들이 "build/classes" 디렉터리에 생성된다.