JAX-WS 애플리케이션에 대한 wsgen 명령

wsgen 명령행 도구는 Java™ 코드에서 시작할 때 JAX-WS(Java API for XML Web Services) 애플리케이션에 필요한 필수 아티팩트를 생성합니다. 다른 Java 버전과 플랫폼 전체에 걸쳐 휴대용이게 하면서 생성된 아티팩트는 Java 5 준수입니다.

상향식 접근법을 사용하여 JAX-WS 웹 서비스를 개발하고 서비스 엔드포인트 구현에서 시작할 때, wsgen 도구를 사용하여 필수 JAX-WS 아티팩트를 생성하십시오.

지원된 구성 지원된 구성: wsimport, wsgen, schemagenxjc 명령행 도구는 z/OS® 플랫폼에서 지원되지 않습니다. 이 기능은 z/OS 플랫폼에서 실행 중인 WebSphere® Application Server에 제공된 어셈블리 도구에 의해 제공됩니다. 이러한 도구에 대해 자세히 학습하려면 JAX-WS 애플리케이션의 명령행 도구를 참조하십시오. sptcfg
우수 사례 우수 사례: WebSphere Application Server는 JAX-WS(Java API for XML-Based Web Services)와 JAXB(Java Architecture for XML Binding) 도구를 제공합니다. wsimport, wsgen, schemagenxjc 명령행 도구는 WebSphere Application Server Traditionalapp_server_root\bin\ 디렉토리에 있습니다. xjcschemagen 명령은 Liberty 프로파일의 app_server_root\jaxb\bin\ 디렉토리에 있습니다. 일부 경우에 WebSphere Application Server 및 JDK에서 제공된 두 가지 도구로 생성된 아티팩트는 동일한 레벨의 스펙을 지원합니다. 일반적으로 JDK 도구가 생성한 아티팩트는 부합하는 다른 런타임 환경에 이식 가능합니다. 그러나 WebSphere Application Server 환경 내에서 완벽한 통합을 하고 WebSphere Application Server에서만 지원되는 기능을 이용하려면 이 제품과 함께 제공되는 도구를 사용하는 것이 가장 좋습니다. JAX-WS 및 JAXB V2.2 도구를 활용하려면 app_server_root\bin\ 디렉토리에 있는 애플리케이션 서버와 함께 제공된 도구를 사용하십시오. bprac
참고: wsimport, wsgen, schemagenxjc 명령행 도구를 애플리케이션 서버의 WebSphere Application Server Traditional 및 Liberty 둘 다에 사용할 수 있습니다.
wsgen 도구는 입력으로서 @WebService 어노테이션을 사용하여 적절한 어노테이션이 있는 서비스 엔드포인트 구현을 승인하고 다음 아티팩트를 생성합니다.
  • 메시지 컨텐츠를 마샬링하고 역마샬링하기 위해 필요한 추가 JAXB(Java Architecture for XML Binding) 클래스.
  • 선택적 -wsdl 인수가 지정되는 경우 WSDL 파일. wsgen 도구는 WSDL 파일을 자동적으로 생성하지 않습니다.

JAX-WS V2.2 도구를 사용할 때, java.lang.RuntimeException 및 java.rmi.RemoteException 참조 및 해당 하위 클래스가 더 이상 WSDL 파일에 맵핑되지 않습니다. 이 동작 변경은 스펙의 섹션 3.7에서 설명되는 JAX-WS V2.1 스펙 적합성 규칙을 따릅니다. java.lang.RuntimeException과 java.rmi.RemoteException 클래스와 해당 서브클래스가 WSDL 파일에서 서비스별 예외와 맵핑됨으로 처리될 수 없는 것을 이 적합성 규칙은 지정합니다.

명령행에서 도구를 사용할 수도 있고 WebSphere Application Server Traditional의 Ant 빌드 환경에서 이 JAX-WS 도구를 호출할 수도 있습니다. Ant 빌드 환경에서 com.sun.tools.ws.ant.WsGen Ant 태스크를 사용하여 wsgen 도구를 호출하십시오. 이러한 Ant 태스크를 올바르게 작동하려면 ws_ant 스크립트를 사용하여 Ant를 호출해야 합니다.

문제점 방지 문제점 방지: wsgen 명령은 다양한 Java 패키지에 정의된 동일한 @XMLType 이름을 가지고 있는 다중 XMLType 어노테이션 사이에 XML 네임스페이스를 구별하지 않습니다. 이 시나리오가 발생할 때, 다음 오류가 생성됩니다.
Error: Two classes have the same XML type name ....
Use @XmlType.name and @XmlType.namespace to assign different names to them...
이 오류는 동일한 이름을 가지고 있는 클래스 이름 또는 @XMLType.name 값을 가지고 있는 것을 나타내지만, 다양한 Java 패키지 내에 존재합니다. 이 오류를 방지하려면, XML 유형을 분간하기 위해 @XML.Type.namespace 클래스를 기존 @XMLType 어노테이션에 추가하십시오. gotcha

JAX-WS 애플리케이션으로 wsgen 명령행 도구가 전체 프로파일에서 공유 클래스 파일을 찾을 수 없습니다. com.ibm.websphere.webservices.WSDL_Generation_Extra_ClassPath 사용자 정의 특성을 사용하여 이러한 클래스 파일의 위치를 찾을 수 있습니다. 자세한 정보는 JVM(Java virtual machine) 사용자 정의 특성에 대한 문서를 참조하십시오.

구문

명령행 구문은 다음과 같습니다.

[Windows]
app_server_root\bin\wsgen.bat [options] service_implementation_class
[AIX][HP-UX][Linux][Solaris]
app_server_root/bin/wsgen.sh [options] service_implementation_class
[IBM i]
app_server_root/bin/wsgen [options] service_implementation_class

매개변수

service_implementation_class 이름은 요구되는 유일한 매개변수입니다. 다음 매개변수는 wsgen 명령을 위한 선택사항입니다.

-classpath <path>
서비스 구현 클래스의 위치를 지정합니다.
-cp <path>
서비스 구현 클래스의 위치를 지정합니다. 이 매개변수는 -classpath <path>와 동일합니다.
-d <directory>
생성된 출력 파일을 두려는 위치를 지정합니다.
-extension
JAX-WS 스펙에 의해 지정되지 않는 기능을 위한 사용자 정의 확장자를 사용할지 여부를 지정합니다. 확장자의 사용은 결과적으로 휴대용이지 않거나 다른 구현과 상호작용하지 않는 애플리케이션이 될 수 있습니다.
-help
도움말 메뉴를 표시합니다.
-keep
생성된 소스 파일을 유지할지를 지정합니다.
-r <directory>
이 매개변수가 -wsdl 매개변수와 함께 사용됩니다. 생성된 WSDL 파일을 두려는 위치를 지정합니다.
-s <directory>
생성된 소스 파일을 배치하기 위한 디렉토리를 지정합니다.
-verbose
컴파일러가 수행하는 것에 대한 메시지를 출력하도록 지정합니다.
-version
버전 정보를 인쇄합니다. 이 옵션을 지정하면, 버전 정보만 출력되고 일반 명령 처리는 발생하지 않습니다.
-wsdl [:protocol]
기본적으로 wsgen 도구는 WSDL 파일을 생성하지 않습니다. 엔드포인트가 배치되기 전에 이 임의 매개변수는 wsgen이 WSDL 파일을 생성하게 하고, 단지 일반적으로 개발자가 WSDL 파일을 검토할 수 있게 하는 데 사용됩니다. protocol은 선택적이고 wsdl:binding에서 사용된 프로토콜을 지정합니다. protocol의 올바른 값은 soap 1.1Xsoap 1.2입니다. 기본값은 soap 1.1입니다. Xsoap 1.2 값은 표준이 아니고, 단지 -extension 옵션과 함께 사용됩니다.
-servicename <name>
이 매개변수는 -wsdl 옵션과 함께 사용됩니다. WSDL 파일에서 생성할 wsdl:service 이름을 지정합니다. 예를 들어, 다음과 같습니다.
-service name "{http://mynamespace/}MyService"
-portname
이 매개변수는 -wsdl 옵션과 함께 사용됩니다. WSDL 파일에서 생성할 wsdl:port 이름을 지정합니다. 예를 들어, 다음과 같습니다.
-portname "{http://mynamespace/}MyPort"

주제 유형을 표시하는 아이콘 참조 주제



시간소인 아이콘 마지막 업데이트 날짜: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rwbs_wsgen
파일 이름:rwbs_wsgen.html