웹 서비스 마법사는 기존의 WSDL 문서에서
스켈레톤 Bean을 작성하는 단계를 지원합니다. 스켈레톤 Bean에는
WSDL 문서에서 설명한 오퍼레이션에 해당하는 메소드 세트가 포함됩니다. Bean이 작성될 때 각 메소드에는 Bean을 편집하여
바꾸는 소규모의 구현이 있습니다.
시작하기 전에
전제조건:
- WebSphere® Application Server를 사용하는 경우
컴퓨터 속도에 따라 시작하는 시간이 달라질 수 있으므로, 웹 서비스 마법사를 실행하기 전에
WebSphere Application Server를 시작하는 것이
좋습니다.
서버를 시작하려면
서버 보기에서 서버를 선택하고(창 > 보기 표시 > 서버) 마우스 오른쪽 단추를
클릭한 다음 시작을 선택하십시오.
- WSDL 문서를 작성 또는 발견한 다음 프로젝트로 가져오십시오. 서비스 요소를 포함하는
WSDL 파일을 사용할 수 있습니다.
이 태스크 정보
WebSphere JAX-WS 런타임 환경을
사용하여 WSDL 문서에서 스켈레톤 Java™ Bean을
작성하려면 다음을 수행하십시오.
프로시저
- Java EE
퍼스펙티브(창 > 퍼스펙티브 열기 > Java EE)로 전환하십시오.
- 엔터프라이즈 탐색기 보기에서 작성했거나 가져온 WSDL 파일을 선택하십시오.
- 파일 > 새로 작성 > 기타를 클릭하십시오. 다양한 웹 서비스 마법사를
표시하려면 웹 서비스를 선택하십시오.
웹 서비스 마법사를 선택하십시오.
다음을 클릭하십시오.
- 웹 서비스 페이지: 하향식 Java Bean 웹 서비스를
웹 서비스 유형으로 선택하십시오. 다음을 수행하도록 선택할 수도 있습니다.
- 슬라이더를 사용하여 완료할 웹 서비스 개발 단계를 선택하십시오. 이를 수행하면 나머지 마법사 패널에
다음과 같은 여러 기본값이 설정됩니다.
- 개발: 이 단계에서는 웹 서비스의 WSDL 정의 및 구현을 개발합니다. 여기에는 생성된 코드, WSDL 파일, 배치 디스크립터 및
Java 파일이 있는 경우 이를 포함하는
모듈 작성과 같은 태스크가 포함됩니다.
- 어셈블: 이 단계에서는 웹 서비스 또는 클라이언트를 호스팅하는 프로젝트가 대상 애플리케이션 서버에서 필요할 때
EAR에 연관시킵니다.
- 배치: 이 단계에서는 서비스 배치 코드를 작성합니다.
- 설치: 이 단계에서는 대상 서버에 웹 모듈 및 EAR을 설치하고 구성합니다. WSDL 파일의 엔드포인트를 변경해야 하는 경우 이 단계에서 변경합니다.
- 시작: 이 단계에서는 서비스를 서버에 설치하면 서버를 시작합니다.
- 테스트: 이 단계에서는 일반 서비스 클라이언트, 웹 서비스 탐색기
또는 샘플 JSP 등 서비스 테스트에 사용할 수 있는 다양한 옵션을
제공합니다.
- 서버 런타임 선택: 기본 서버가 표시됩니다. 다른 서버에 서비스를 배치하려면 서버 링크를 클릭하여 다른 서버를
지정하십시오.
이 태스크는
다음 서버 런타임 환경을 지원합니다.
- WebSphere Application
Server V7.0 이상
- WebSphere Application
Server Liberty Profile V8.5.5
- 웹 서비스 런타임 선택: 기본 런타임이 표시됩니다. 서비스를 IBM® WebSphere JAX-WS
런타임에 배치하려면 런타임 링크를 클릭하고 열린 창에서 이를 선택하십시오.
- 서비스 프로젝트 및 서비스 EAR 프로젝트 선택: 작업공간에서 선택한 프로젝트가 표시됩니다. Java
5.0, Java 6.0
또는 Java 7.0
패싯이 활성화된 웹 프로젝트만 지원됩니다. 다른 프로젝트 및
EAR을 선택하려면 프로젝트 링크를 클릭하거나 이름을 입력하여 마법사가
프로젝트를 작성할 수 있게 하십시오. 클라이언트 웹 프로젝트로 선택한 프로젝트가 서비스 웹 프로젝트와 다른지 또는 클라이언트에서 생성된 아티팩트가
서비스를 겹쳐쓰는지 확인하십시오. JAX-WS 웹 서비스의 경우, 서버와 클라이언트 프로젝트가 동일한 EAR을 공유할 수 있습니다.
- 클라이언트를 작성하려면 생성하려는 프록시 유형을 선택하고 클라이언트에 대해
1 - 4단계를 반복하십시오. 클라이언트는 IBM WebSphere JAX-WS 런타임 환경을 사용하여 WSDL 문서에서 웹 서비스 클라이언트 생성에서 설명된 단계에 따라 이후에 작성할 수 있습니다.
- 웹 서비스 모니터: 이 단계에서는 웹 서비스에서 생성된 SOAP 트래픽을 관찰하고 WS-I 준수를 확인하기 위해 이 트래픽을
테스트할 수 있는 TCP/IP 모니터를 통해 웹 서비스 트래픽을 송신합니다. 또는
웹 서비스 테스트를 위한 TCP/IP 모니터 사용에
설명된 대로 TCP/IP 모니터를 수동으로 설정할 수 있습니다.
- WebSphere JAX-WS
하향식 웹 서비스 구성 페이지:
- 출력 폴더: 생성된 Java 스켈레톤이
생성될 위치를 입력하거나 기본값을 허용하십시오.
- 대상 패키지: 생성된 Java의 패키지 이름을
입력하거나 기본값을 허용하십시오.
- 랩퍼 스타일 사용: WSDL에서 Java로의
랩퍼 스타일 맵핑을 사용합니다. 문서/리터럴 랩핑 패턴을 구현하는 WSDL 문서의 경우,
루트 요소가 XML 스키마에 선언되며 메시지 플로우에 대한 오퍼레이션 랩퍼로
사용됩니다. 요청 및 응답에 대해 별도의 랩퍼 요소 정의가 존재합니다. 오퍼레이션과
이름이 동일한 요소(랩퍼 요소)는 분리되어
각 컨텐츠 요소는 생성된 Java 메소드 시그니처의
매개변수가 됩니다.
- 직렬화 가능 JAXB 클래스 생성: WebSphere Application Server 및
WebSphere(r) Application Server
Liberty Profile V8.5.5에서 Java 6 패싯을 사용하도록 설정하면 java.io.Serializable을 구현하는
JAXB 클래스를 생성하도록 선택할 수 있습니다. 이 인터페이스를 구현하지 않는 클래스는
상태가 직렬화되거나 역직렬화되지 않습니다.
- MTOM 지원 사용: 이 선택란을 선택하면 SOAP MTOM(Message Transmission Optimization Mechanism)이 2진
컨텐츠 전송을 최적화하는 데 사용됩니다. MTOM에 대한 자세한 정보는
MTOM 개요를 참조하십시오.
- 생성될 JAX-WS 코드의 버전: WebSphere Application Server V7.0에서는
JAX-WS 2.0 또는 2.1 호환 코드를 지원합니다. WebSphere Application
Server V8.0, V8.5 및 WebSphere(r) Application
Server Liberty Profile V8.5.5는 JAX-WS 2.0, 2.1 또는 2.2 호환 코드를 지원합니다.
- WSDL을 프로젝트에 복사: WSDL 파일을 서비스 프로젝트에 복사하려면
이 옵션을 선택하십시오. 그렇지 않으면 필수 WSDL이 필요할 때 런타임에 의해
동적으로 생성됩니다. 이는 이후에 클라이언트를 작성하거나 다른 사용자를 위해 WSDL을 공개하려는 경우에 유용하게
사용됩니다.
- 직렬화 가능 JAXB 클래스 생성: WebSphere Application Server 및
WebSphere(r) Application Server
Liberty Profile V8.5.5에서 Java 6 패싯을 사용하도록 설정하면 java.io.Serializable을 구현하는
JAXB 클래스를 생성하도록 선택할 수 있습니다. 이 인터페이스를 구현하지 않는 클래스는
상태가 직렬화되거나 역직렬화되지 않습니다.
- JAX-WS 또는 JAXB 바인딩 파일 지정: JAX-WS 또는 JAXB 사용자 정의 바인딩 파일을 작성하는 경우에
이 웹 서비스를 작성하도록 사용하려면 이 선택란을 선택하십시오. 이 선택란을 선택하면 마법사의
다음 페이지에서 사용자 정의 바인딩 선언 파일을 찾을 수 있습니다.
- 서비스 구현 클래스 이름 사용자 정의: 기본 포트 이름을 서비스 구현 클래스 이름 맵핑으로 변경하려면 이
선택란을 선택하십시오.
- 스키마 라이브러리 생성: 이를 통해 스키마 코드를 스키마 라이브러리에
생성할 수 있습니다. 스키마 라이브러리를 선택하면 이후 페이지에서 XSD 문서 또는
XSD 문서 그룹과 프로젝트 간 맵핑을 사용자 정의할 수 있습니다.
- 웹 서비스 배치 디스크립터 생성: JAX-WS의 경우, 웹 서비스 배치 정보는 런타임에 의해
동적으로 생성되므로 정적 배치 디스크립터는 더 이상 필요하지 않습니다.
이 선택란을 선택하면 생성됩니다.
- 벤더 확장기능 허용: 이 선택란을 선택하는 경우
-extension 옵션이 wsgen 또는 wsimport 명령에 추가됩니다.
-extension 옵션은 JAX-WS 사양에서 지정하지 않은 기능을
사용자 정의 확장기능으로
사용 또는 허용하는지 여부를 지정합니다.
확장기능의 사용으로 응용프로그램이 이식
불가능하거나 다른 구현과 상호 운영되지 않을 수 있습니다. 자세한 내용을 보려면
WebSphere Application Server의 Information Center에서 찾을 수 있는 JAX-WS 애플리케이션의 wsgen 명령 및 JAX-WS 애플리케이션의 wsimport 명령 주제를 참조하십시오.
- 이전 페이지에서 선택한 옵션에 따라, 다음 페이지에서 웹 서비스 구현을
사용자 정의하도록 프롬프트될 수 있습니다.
- 바인딩 선언 사용자 정의 페이지: JAX-WS 또는 JAXB 바인딩 파일을
지정하도록 선택한 경우 이 페이지에서 파일을 찾을 수 있습니다.
- 서비스 구현 구성 페이지: WSDL 파일에 정의된 각 포트에 대해 서비스 구현 클래스 이름을 입력하거나 기본값을
허용할 수 있습니다.
- 스키마 프로젝트 구성 페이지: 스키마 라이브러리를 생성하도록 선택한 경우
이 페이지를 사용하여 XSD 문서와 프로젝트 간 맵핑을 사용자 정의하십시오. 이
기능은 모든 스키마 종속성이 다른 targetNamespaces에 있는 경우에 작동합니다.
그렇지 않으면 ObjectFactory.java에서 컴파일 오류가 발생합니다.
- 웹 서비스 테스트 페이지: 웹 서비스를 테스트하도록 선택한 경우, 생성된 웹 서비스를 위한 테스트 기능을 선택하고
실행을 클릭하십시오. 그러면 웹 서비스가 웹 서비스 탐색기
또는 일반 서비스 클라이언트에서
열립니다. 테스트하려는 오퍼레이션을 선택하고
필수 정보를 입력한 다음 이동을 클릭하십시오. 결과가 상태 분할창에
표시됩니다.다음을 클릭하십시오.
- WebSphere JAX-WS 웹 서비스 클라이언트 구성 페이지: 클라이언트를 생성하도록 선택한 경우,
이 페이지에서 다음 옵션을 지정할 수 있습니다.
- 출력 폴더: 클라이언트 코드가 생성되는 위치입니다.
- 대상 패키지: 웹 서비스 클라이언트 마법사는 여러 개의 Java 파일을
생성합니다. 기본적으로 WSDL 파일에 지정된 네임스페이스를 기반으로
패키지 이름을 작성합니다. 이 기본 동작을 겹쳐쓰기 위해 사용자의 패키지 이름을 지정할 수 있습니다.
- 이식 가능 클라이언트 생성: 이 선택란을 선택하여 한 시스템에서 다른 시스템으로 또는
WebSphere Application Server 또는 WebSphere Application
Server Liberty Profile V8.5.5의 한 인스턴스에서
다른 인스턴스로 웹 서비스 클라이언트 코드를 이동합니다.
이 옵션이 선택되면 WSDL 문서와 이 문서가 종속된
모든 XML 스키마 및 기타 WSDL 문서가 WEB-INF/wsdl 아래의 클라이언트 프로젝트에
복사되며 이 사본을 가리키는 file:relativeURL이 JAX-WS 서비스
클래스의 정적 초기화 블록에 삽입됩니다.
- 생성된 클라이언트에 대해 비동기 호출 사용: 비동기 클라이언트를 사용 가능하게 선택한 경우,
웹 서비스의 각 메소드에 대해 두 개의 추가 메소드가 작성됩니다. 이 추가 메소드는
폴링 및 콜백 메소드로, 이러한 메소드에서 클라이언트가 비동기적으로 작동할 수 있습니다.
- JAX-WS 또는 JAXB 바인딩 파일 지정: JAX-WS 또는 JAXB 사용자 정의 바인딩 파일을 작성하는 경우에
웹 서비스 클라이언트를 작성하도록 사용하려면 이 선택란을 선택하십시오.
이 선택란을 선택하면 마법사의
다음 페이지에서 사용자 정의 바인딩 선언 파일을 찾을 수 있습니다.
- 클라이언트 프록시 클래스 이름 사용자 정의: 기본 포트 이름을 서비스 구현 클래스 이름 맵핑으로
변경하려면 이 선택란을 선택하십시오.
- 바인딩 선언 사용자 정의 페이지: JAX-WS 또는 JAXB 바인딩 파일을
지정하도록 선택한 경우 이 페이지에서 파일을 찾을 수 있습니다.
- 서비스 구현 구성 페이지: 프록시 생성 구성 페이지: 정의된 각 포트에 대해
프록시 클래스 이름을 입력하거나 기본값을 승인할 수 있습니다.
- 웹 서비스 클라이언트 테스트 페이지:
- 생성된 프록시 테스트: 선택한 경우 샘플 클라이언트가 웹 브라우저에서
시작되어 기능을 테스트할 수 있습니다.
- 테스트 기능을 선택하십시오.일반 서비스 클라이언트 또는 웹 서비스 탐색기에서
생성된 프록시를 테스트할 수 있거나 샘플
JAX-WS 2.0 JSP를 생성하고 사용할 수 있습니다.
- 폴더: JSP를 통해 프록시를 테스트하도록 선택한 경우 JSP가 배치되는 폴더를 선택할 수 있고
JSP에 포함되는 메소드를 선택할 수 있습니다.
- 메소드: 표시할 메소드를 선택하십시오. 비동기 호출을 사용 가능하도록 선택하면 비동기 메소드도
나열되어야 합니다.
- 서버에서 테스트 실행: 자동으로 서버를 시작합니다.
결과
웹 서비스를 작성한 후에 선택한 옵션에 따라 다음이 발생할 수 있습니다.
- 구현 Bean이 Java 편집기에서 열립니다. 여기에는
웹 서비스의 기본 기능을 테스트하는 데 사용할 수 있는 스켈레톤 코드가 포함되거나,
이를 테스트하기 전에 서비스에 대해 필요한 비즈니스 로직을 구현할 수 있습니다.
- JAX-WS 2.0 JSP를 사용하여 생성된 프록시를 테스트하도록 선택하면, 웹 브라우저에 프록시가
http://localhost:port/WebProjectClient/sampleBeanName/WebServiceName/TestClient.jsp와 같은
URL로 시작됩니다. 이 샘플 애플리케이션에서 메소드를 선택하고 메소드 값을 입력한 다음 호출을 클릭하여
웹 서비스를 테스트할 수 있습니다.
메소드의 결과가 결과 분할창에 표시됩니다. 다소간의 메소드 구현이 포함된
Java Bean 스켈레톤이기 때문에 값으로
-3이 리턴됩니다.
- 유니버셜 테스트 클라이언트를 사용하여 생성된 프록시를 테스트하도록 선택한 경우 브라우저 창에서
http://localhost:port/UTC/preload?object=BeanPackage.BeanServiceProxy와 같은 URL과 유사하게 시작됩니다. 오브젝트에서
프록시 스텁을 펼쳐서 웹 서비스 메소드를 표시하십시오. 테스트하려는 메소드를 클릭하고
매개변수 분할창에 값을 입력한 다음 호출을
클릭하십시오. 결과가 생성되고 표시됩니다.
- 웹 서비스 탐색기를 사용하여 웹 서비스를 테스트하도록 선택한 경우 탐색기가
열립니다. 테스트하려는 오퍼레이션을 선택하고
필수 정보를 입력한 다음 이동을 클릭하십시오. 결과는
상태 분할창에 표시됩니다.