JAX-RPC 애플리케이션에 대한 WSDL2Java 명령
WSDL 파일에 대한 WSDL2Java 명령행 도구를 실행하여 Java™ API 및 배치 디스크립터 템플리트를 작성하십시오.
WSDL2Java 명령행은 z/OS® 플랫폼에서 지원되지 않습니다. 이 기능은 z/OS 플랫폼에서 실행 중인
WebSphere® Application Server와 함께 제공되는
어셈블리 도구에서 제공합니다.
WSDL(Web Services Description Language) 파일은 웹 서비스에 대해 설명합니다. JAX-RPC(Java API for XML-based Remote Procedure Call) 1.1 스펙은 웹 서비스와 상호 작용하는 Java API 맵핑을 정의합니다. Java EE(Java Platform, Enterprise Edition)용 웹 서비스 스펙은 Java EE 환경에 웹 서비스를 배치하는 배치 디스크립터를 정의합니다. WSDL2Java 명령은 이러한 스펙에 따라 Java API 및 배치 디스크립터 템플리트를 작성하기 위해 WSDL 파일에 대해 실행됩니다.

targetNamespace="MyRelNamespace"
.
프로토콜 및 기본 URI 정보를 추가하여 이 예제의 상대 네임스페이스를 절대 네임스페이스로 변경할 수 있습니다. targetNamespace="http://www.sample.com/MyRelNamespace"
명령행 구문
WSDL2Java [arguments] WSDL-URI
필수 인수
- WSDL-URI
URI(Universal Resource Identifier)를 사용하여 입력 WSDL 파일의 위치를 지정합니다. WSDL 파일이 로컬 파일 시스템에 있는 경우 일반 파일 경로를 사용할 수도 있습니다.
중요한 인수
- -role Java EE 역할생성할 파일을 식별하는 Java EE 배치 역할을 지정합니다. 올바른 인수에는 다음이 포함됩니다.
- 클라이언트
개발 클라이언트와 배치 클라이언트 인수의 조합.
- 배치 클라이언트
클라이언트 배치를 위한 바인딩 파일을 생성합니다.
- 배치 서버
서버 배치를 위한 바인딩 파일을 생성합니다.
- 개발 클라이언트(기본값)
클라이언트 배치를 위한 파일을 생성합니다.
- 개발 서버
서버 개발을 위한 파일을 생성합니다.
- 서버
개발 서버와 배치 서버 인수의 조합.
- 클라이언트
- -container Java EE 컨테이너 사용할 Java EE 컨테이너를 표시합니다. 올바른 인수에는 다음이 포함됩니다.클라이언트 역할(-role 옵션 참조)의 경우, 기본 인수는 none입니다. 서버 역할의 경우, 컨테이너는 ejb 또는 web이어야 합니다. 동일한 컨테이너 옵션은 개발과 배치 모두를 위해 사용되어야 합니다.
- 클라이언트
클라이언트 컨테이너를 표시합니다.
- ejb
EJB(Enterprise JavaBeans) 컨테이너를 표시합니다.
- 없음
어떤 컨테이너도 표시되지 않습니다.
- 웹
웹 컨테이너를 표시합니다.
- 클라이언트
- -output directory
생성된 파일을 위한 루트 디렉토리를 설정합니다.
- -inputMappingFile 맵핑 파일
Java EE 맵핑 파일에 대한 웹 서비스의 파일 이름을 지정합니다.
- -introspect
새 웹 서비스 API로 기존 Java Bean을 사용합니다.
일부 시나리오에서, 새 클래스를 생성하는 대신 기존 Java 클래스를 사용하는 것이 좋습니다. -introspect 옵션은 클래스를 생성할 때 기존 Java 클래스를 검사하기 위해 WSDL2Java 명령을 지시합니다. 기존 클래스는 JAX-RPC 스펙에 대하여 유효성 검증됩니다. 예를 들어 다음과 같습니다.
기존 Java bean이 있다고 가정하십시오.
WSDL 파일은 xsd:dateTime으로 x를 정의합니다. -introspect 옵션 없이, WSDL2Java 명령은 다음 예제와 유사한 Java bean을 생성합니다.public class Bean { public Date x; }
WSDL2Java 명령은 원래 Java Bean을 검사하고 기존 Java Bean과 호환 가능한 클래스를 생성하기 위해 -introspect 옵션을 사용합니다.public class Bean { private Calendar x; public void setx(Calendar value) (x=value;) public Calendar getX() { return x;) }
- -classpath paths
Java 클래스를 찾기 위해 대체 클래스 경로를 정의합니다.
- -noDataBinding
Java 유형에 XML 유형의 바인딩을 사용 안함으로 설정합니다. 대신, 각 XML 유형은 SAAJ(SOAP with Attachments API for Java) 스펙에 의해 정의되는 javax.xml.soap.SOAPElement 인터페이스로 맵핑됩니다.
JAX-WS(Java API for XML Web Services) 프로그래밍 모델은 SAAJ 1.2와 1.3을 지원합니다.
JAX-RPC 프로그래밍 모델은 SAAJ 1.2를 지원합니다.
Java 프로그래밍 모델은 XML 유형의 서브세트에 대한 Java 맵핑을 정의합니다. 여러 XML 유형은 Java Bean 또는 기본에 맵핑될 수 없습니다. 이 상황에서 WSDL2Java 명령은 유형을 SAAJ SOAPElement에 맵핑합니다. SAAJ SOAPElement는 메시지에 있는 요소에 대한 일반적인 표시입니다. SOAPElement의 메소드는 요소와 해당 하위를 검사하기 위해 사용될 수 있습니다.
일부 시나리오에서, 독점적으로 일반적 SOAPElement 맵핑을 사용하는 것이 더 적절합니다. SOAPElement의 사용에 대해 더 자세히 알아보려면, JAX-RPC 애플리케이션에 대한 사용자 정의 데이터 바인더와 Java 인터페이스에 대한 첨부 파일 API를 가진 SOAP에 대한 정보를 참조하십시오.
지원되는 표준 및 스펙의 전체 목록은 웹 서비스 스펙과 API 문서를 참조하십시오.
- -help
도움말 메시지를 표시하고 종료합니다.
- -helpX
확장된 옵션에 대한 도움말 메시지를 표시합니다. 옵션에는 다음이 포함됩니다.
- -verbose
생성된 파일 이름이 포함된 처리 정보를 표시합니다.
- -NStoPkg namespace=package
기본적으로, 패키지 이름은 자동으로 WSDL 파일의 네임스페이스 문자열에서 파생됩니다. 예를 들어, 네임스페이스가 http://x.y.com 또는 urn:x.y.com 양식인 경우, 해당 패키지는 com.y.x입니다.
각 고유 네임스페이스 맵핑을 위해 한 번, 필요할 정도로 자주 반복할 수 있는 -NStoPkg 인수를 사용하여 사용자 자신의 맵핑을 제공할 수 있습니다. 예를 들어, WSDL 파일의 네임스페이스를 urn:AddressFetcher2라고 하고 이 네임스페이스의 오브젝트에서 생성된 파일이 samples.addr 패키지에 상주하도록 하려는 경우, -NStoPkg "http://urn:AddressFetcher2/"=samples.addr 인수를 WSDL2Java 명령에 제공하십시오.
- -timeout seconds
WSDL2Java 명령이 포기하기 전에 응답하기 위해 WSDL-URI를 기다리는 기간(초)을 지정합니다. 기본값은 45초입니다. -1은 제한시간을 사용 안함으로 설정합니다.
- -genResolver
절대 가져오기 분석기 클래스를 생성합니다. 이 클래스의 목적은 WSDL URI에 의해 사용되는 가져온 WSDL 파일의 컨텐츠를 레코드하는 것입니다. 이 클래스는 런타임에 의해 사용되고 향후 WSDL2Java 명령 실행을 위해 사용될 수도 있습니다. 가져온 WSDL 파일이 원격이고 아마도 액세스할 수 없을 때 이 유연성은 바람직합니다. 가져오기 분석기가 사용될 때, 원격 WSDL 파일이 개발 동안 수행한 런타임에서 다른 컨텐츠를 가지고 있는 가능성이 제거됩니다. 생성된 클래스는 _AbsoluteImportResolver.java라고 합니다. WSDL2Java 명령에 의해 생성되는 다른 Java 클래스를 가진 이 클래스를 컴파일링하고 패키지화하십시오.
- -useResolver resolver-class
구문 분석 동안 사용할 절대 가져오기 분석기 클래스를 지정합니다. 이 클래스는 -genResolver 옵션을 사용하는 WSDL2Java 명령의 이전 실행 동안 작성되어야 합니다. 클래스는 CLASSPATH 변수에서 사용 가능해야 합니다.
- -deployScope 인수 서버 구현을 배치하는 방법을 표시합니다. 올바른 인수에는 다음이 포함됩니다.
- 애플리케이션
모든 요청을 위한 구현 클래스의 한 가지 인스턴스를 사용합니다.
- 요청
각 요청에 대한 구현 클래스의 새 인스턴스를 작성합니다.
- 세션
각 세션에 대한 구현 클래스의 새 인스턴스를 작성합니다.
- 애플리케이션
기타 인수
- -user id
WSDL URI에 액세스하기 위해 로그인 사용자 이름을 지정합니다.
- -password 비밀번호
WSDL URI에 액세스하기 위해 로그인 사용자 비밀번호를 지정합니다.
- -all
참조되지 않는 유형을 포함하여 모든 유형에 대한 Java 파일을 생성합니다.
- -allowRelativeNamespace true 또는 false
상대 네임스페이스 제한사항을 사용 안함으로 설정할지 여부를 지정합니다. -allowRelativeNamespace=true를 지정하면 상대 네임스페이스 제한사항은 사용 안함으로 설정됩니다.
문제점 방지: 상대 네임스페이스에 의존하는 스키마 또는 확립된 WSDL 파일을 가지고 있고 상대 네임스페이스의 사용을 허용하는 정의된 공급업체 세트와 상호작용하려고 노력하는 경우 유일하게 이 특성을 사용하십시오.gotcha
- -debug
디버깅 정보를 인쇄합니다.
- -genJava 인수 Java 파일을 생성합니다. 올바른 인수에는 다음이 포함됩니다.
- IfNotExists, 기본값
- 겹쳐쓰기
- 아니오
- -javaSearch 인수-javaSearch 옵션은 -genJava 옵션과 함께 사용됩니다. -genJava IfNotExists인 경우, -javaSearch 옵션을 사용하여 파일 존재성이 발견되는 방법을 판별하십시오.
- 파일(기본값): 출력 디렉토리에서 파일을 찾습니다.
- Classpath: CLASSPATH 변수에서 클래스를 찾습니다.
- Both: 출력 디렉토리에서 파일을 찾거나 CLASSPATH 변수에서 클래스를 찾습니다.
- -genXML 인수 .xml 및 .xmi 파일을 생성합니다. 올바른 인수는 다음과 같습니다.
- IfNotExists, 기본값
- 겹쳐쓰기
- 아니오
- -genImplSer true 또는 false
각각의 생성된 Java bean이 java.io.Serializable을 구현한다는 것을 표시합니다. 기본값은 false입니다.
- -genEquals true 또는 false
각각의 생성된 Java bean에는 equals 및 hashCode 메소드가 있다는 것을 표시합니다. 기본값은 false입니다.
- -noWrappedOperations
랩핑된 조작 발견을 사용 안함으로 설정합니다. 요청 및 응답 메시지를 위한 Java Bean이 생성됩니다.
- -noWrappedArrays
랩핑된 배열 발견을 사용 안함으로 설정합니다.
- -fileNStoPkg 파일 이름
패키지 맵핑에 네임스페이스의 파일을 지정합니다. 기본값은 NStoPKG.properties입니다.
- 서비스 wsdl 서비스 이름
설치된 WSDL 서비스 전용 파일을 생성합니다.
- -testCase
테스트 중인 웹 서비스를 위한 JUnit 테스트 케이스에 대한 템플리트를 생성합니다. JUnit은 반복 가능한 테스트를 쓰기 위한 단순 프레임워크입니다.