WSDL 파일에서 JAX-WS 애플리케이션에 대한 Java 아티팩트 생성

JAX-WS 도구를 사용하여 WSDL(Web Services Description Language) 파일로 시작할 때 JAX-WS 웹 서비스를 개발하는 데 필요한 Java™ 아티팩트를 생성합니다.

시작하기 전에

WSDL(Web Services Description Language) 파일로 시작해 하향식 개발 접근 방식을 사용하여 JAX-WS(Java API for XML-Based Web Services) 웹 서비스를 개발하는 경우 WSDL 파일의 URL(Uniform Resource Locator)을 가져와야 합니다.

[Windows][z/OS]WSDL 파일이 로컬 파일인 경우, 해당 URL은 file:drive:\path\file_name.wsdl입니다.

[Linux][AIX][HP-UX][Solaris][IBM i]WSDL 파일이 로컬 파일인 경우, 해당 URL은 file:/path/file_name.wsdl입니다.

로컬 파일은 절대 또는 상대 파일 시스템 경로를 사용하여 지정할 수도 있습니다.

이 태스크 정보

JAX-WS 도구, wsimport를 사용하여 WSDL 파일을 처리하고 웹 서비스를 작성하는 데 사용된 이식 가능한 Java 아티팩트를 생성할 수 있습니다. wsimport 도구를 사용하여 작성된 이식 가능한 Java 아티팩트는 다음과 같습니다.
  • 서비스 엔드포인트 인터페이스(SEI)
  • 서비스 클래스
  • wsdl:fault 클래스(있는 경우)에서 맵핑된 예외 클래스
  • XML 스키마 유형에서 맵핑된 Java 클래스에 해당되는 JAXB(Java Architecture for XML Binding)의 생성된 값 유형
지원된 구성 지원된 구성: 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

명령행에서 도구를 사용하는 방법 외에도 Ant 빌드 환경에서 이 JAX-WS 도구를 호출할 수 있습니다. Ant 빌드 환경에서 com.sun.tools.ws.ant.WsImport Ant 태스크를 사용하여 wsimport 도구를 호출합니다. 올바르게 작동하려면 이 Ant 태스크에서는 ws_ant 스크립트를 사용하여 Ant를 호출해야 합니다.

프로시저

이식 가능한 클라이언트 아티팩트를 생성하려면 wsimport 명령을 실행하십시오. wsimport 도구는 app_server_root\bin\ 디렉토리에 있습니다.
[Windows]
app_server_root\bin\wsimport.bat wsdl_URL 
[AIX][HP-UX][Linux][Solaris]
app_server_root/bin/wsimport.sh wsdl_URL
[IBM i]
app_server_root/bin/wsimport wsdl_URL
(선택사항) wsimport 명령에서 다음 옵션을 사용하십시오.
  • 명령을 실행할 때 생성된 파일 목록을 보려면 -verbose 옵션을 사용하십시오.
  • 생성된 Java 파일을 유지하려면 -keep 옵션을 사용하십시오.
  • -wsdlLocation 옵션을 사용하여 WSDL 파일의 위치를 지정하십시오.
    우수 사례 우수 사례: 다른 시스템에 이식 가능한 JAX-WS 웹 서비스 클라이언트 엔터프라이즈 아카이브(EAR) 파일을 생성하도록 보장하는 우수 사례는, 웹 서비스 클라이언트 Java 아카이브(JAR) 파일 또는 웹 애플리케이션 아카이브(WAR) 파일과 같은 애플리케이션 모듈에서 WSDL 문서를 패키지하는 것입니다. -wsdllocation 어노테이션 속성을 사용하여 WSDL 파일의 위치에 대한 상대 URI를 지정할 수 있습니다. 예를 들어, MyService.wsdl 파일이 META-INF/wsdl/ 디렉토리에 있는 경우 wsimport 도구를 실행하고 -wsdllocation 옵션을 사용하여 WSDL 파일의 위치에 사용할 값을 지정하십시오. 그러면, 생성된 아티팩트가 관리 콘솔에 애플리케이션을 로드할 때 필요한 올바른 -wsdllocation 정보를 포함할 수 있습니다.
    wsimport -keep -wsdllocation=META-INF/wsdl/MyService.wsdl
    bprac
  • 사용자 정의를 포함하는 외부 바인딩 파일을 지정하도록 WSDL 또는 스키마 사용자 정의를 사용하는 경우 -b 옵션을 사용합니다.

    비동기 맵핑 또는 첨부를 사용하도록 WSDL 파일에서 바인딩을 사용자 정의할 수 있습니다. 비동기 인터페이스를 생성하려면 클라이언트 측 전용 사용자 정의 enableAsyncMapping 바인딩 선언을 wsdl:definitions 요소 또는 WSDL 파일에 정의된 외부 바인딩 파일에 추가합니다. 사용자 정의 클라이언트 또는 서버 바인딩 파일에서 enableMIMEContent 바인딩 선언을 사용하여 기본 mime:content 맵핑 규칙을 사용하거나 사용하지 않습니다. 사용자 정의 바인딩 선언에 대한 추가 정보는 8장, JAX-WS 스펙을 참조하십시오.

이 명령 및 지정할 수 있는 추가 옵션에 대해 자세히 학습하려면 wsimport 명령을 참조하십시오.

결과

JAX-WS 웹 서비스 작성에 필요한 Java 아티팩트가 있습니다. wsimport 명령에 대한 사용법, 구문, 매개변수에 대해 자세히 학습하려면 JAX-WS 애플리케이션에 대한 wsimport 명령 문서를 참조하십시오.

다음 예제에서는 wsimport 명령을 사용하여 이식 가능한 아티팩트를 생성하도록 샘플 Ping WSDL 파일을 처리하는 방법을 보여줍니다.
  1. 다음 ping.wsdl WSDL 파일을 임시 디렉토리에 복사하십시오.
    <?xml version="1.0" encoding="UTF-8"?>
    <!--
     * This program can be used, run, copied, modified and distributed
     * without royalty for the purpose of developing, using, marketing, or distributing.
     -->
    <wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
    	xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
    	xmlns:tns="http://com/ibm/was/wssample/sei/ping/"
    	xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="PingService"
    	targetNamespace="http://com/ibm/was/wssample/sei/ping/">
    	<wsdl:types>
    		<xsd:schema
    			targetNamespace="http://com/ibm/was/wssample/sei/ping/"
    			xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    
    
    			<xsd:element name="pingStringInput">
    				<xsd:complexType>
    					<xsd:sequence>
    												<xsd:element name="pingInput" type="xsd:string" />
    					</xsd:sequence>
    				</xsd:complexType>
    			</xsd:element>
    		</xsd:schema>
    	</wsdl:types>
    	<wsdl:message name="pingOperationRequest">
    		<wsdl:part element="tns:pingStringInput" name="parameter" />
    	</wsdl:message>
    	<wsdl:portType name="PingServicePortType">
    		<wsdl:operation name="pingOperation">
    			<wsdl:input message="tns:pingOperationRequest" />
    
    		</wsdl:operation>
    	</wsdl:portType>
    	<wsdl:binding name="PingSOAP" type="tns:PingServicePortType">
    				<soap:binding style="document"
    						transport="http://schemas.xmlsoap.org/soap/http" />
    		<wsdl:operation name="pingOperation">
    			<soap:operation soapAction="pingOperation" style="document" />
    			<wsdl:input>
    				<soap:body use="literal" />
    			</wsdl:input>
    		</wsdl:operation>
    	</wsdl:binding>
    	<wsdl:service name="PingService">
    		<wsdl:port binding="tns:PingSOAP" name="PingServicePort">
    			<soap:address
    				location="http://localhost:9080/WSSampleSei/PingService" />
    		</wsdl:port>
    	</wsdl:service>
    </wsdl:definitions>
  2. app_server_root\bin\ 디렉토리에서 wsimport 명령을 실행하십시오.
    [Windows]
    app_server_root\bin\wsimport.bat -keep -verbose ping.wsdl
    [Linux][AIX][HP-UX][Solaris]AIX® 또는 Linux와 같은 운영 체제는 다음 명령을 실행하여 내보낸 변수를 상속하도록 상위 쉘로 스크립트를 소싱합니다.
    . ./setupCmdLine.sh  (Notice the space between the periods.)
    /app_server_root>/bin directory. wsimport 명령을 실행하십시오.
    app_server_root/bin/wsimport.sh -keep -verbose ping.wsdl 
    [IBM i]
    app_server_root/bin/wsimport -keep -verbose ping.wsdl
wsimport 명령을 사용하여 템플리트 파일을 생성하면, 다음 파일이 생성됩니다.
com\ibm\was\wssample\sei\ping\ObjectFactory.java
com\ibm\was\wssample\sei\ping\package-info.java
com\ibm\was\wssample\sei\ping\PingServicePortType.java
com\ibm\was\wssample\sei\ping\PingStringInput.java
com\ibm\was\wssample\sei\ping\PingService.java

ObjectFactory.java 파일에는 연관된 Ping 패키지에서 생성된 각 Java 요소 인터페이스 및 Java 컨텐츠 인터페이스에 대한 팩토리 메소드가 들어 있습니다. package-info.java 파일은 targetNamespace 값을 사용하고 디렉토리 구조를 작성합니다. PingServicePortType.java 파일은 ping 메소드 정의를 포함하는 생성된 서비스 엔드포인트 인터페이스(SEI) 클래스입니다. PinStringInput.java 파일은 XML 스키마 유형에서 맵핑된 Java 클래스에 해당되는 JAXB의 생성된 값 유형을 포함합니다. PingService.java 파일은 JAX-WS 클라이언트에서 사용하는 생성된 서비스 제공자 클래스 파일입니다.

다음에 수행할 작업

JavaBeans 또는 엔터프라이즈 Bean 구현을 완료하여 웹 서비스 애플리케이션의 구현을 완료합니다.

주제 유형을 표시하는 아이콘 태스크 주제



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