< 이전 | 다음 >

학습 2: 웹 서비스 작성

이 학습에서는 이전 학습에서 가져온 WSDL 파일에서 하향식 Java™ 주소록 웹 서비스를 작성하는 방법을 학습합니다.

시작하기 전에 먼저 학습 1: 서버 및 웹 프로젝트 작성을 완료해야 합니다.
  1. Java EE 퍼스펙티브로 전환: > 퍼스펙티브 열기>기타 > Java EE.
  2. 엔터프라이즈 탐색기 보기에서 이전 학습에서 가져온 WSDL 파일을 선택하십시오.
  3. WSDL을 마우스 오른쪽 단추로 클릭하고 웹 서비스 > Java Bean 스켈레톤 생성을 선택하십시오.
  4. 웹 서비스 페이지: 하향식 Java Bean 웹 서비스를 웹 서비스 유형으로 선택하고 AddressBook.wsdl이 서비스 정의로 설정되어 있는지 확인하십시오. 다음 옵션을 선택하십시오.
    1. 슬라이더를 사용하여 완료할 웹 서비스 개발 단계를 선택하십시오. 슬라이더가 나머지 마법사 페이지에서 기본값을 설정하지만 진행하면서 각 페이지에서 기본 설정을 대체할 수 있습니다. 이 학습서에서는 서비스 시작을 선택하십시오. 이 옵션을 선택하면 웹 서비스에 필요한 모든 코드를 작성하여 서버에 배치하고 서버를 시작합니다.
    2. 서버 선택: 서버 링크를 클릭하고 WebSphere® v8 서버가 선택되었는지 확인하십시오.
    3. 런타임 선택: IBM® JAX-WS 런타임이 선택되었는지 확인하십시오.
    4. 서비스 프로젝트 선택: 이전 학습에서 작성한 jwsAddressBook 프로젝트를 선택하십시오.
    5. 서비스 EAR 프로젝트 선택: 이전 학습에서 작성한 jwsAddressBookEAR을 선택하십시오.
    6. 나중에 클라이언트를 작성할 것이므로 클라이언트 슬라이더가 클라이언트 없음으로 설정되었는지 확인하십시오.
    다음을 클릭하십시오.
  5. WebSphere JAX-WS 하향식 웹 서비스 구성 페이지:
    • 출력 폴더: 다음과 같은 생성된 Java 스켈레톤을 생성할 기본 위치를 채택하십시오: jwsAddressBook/src.
    • 대상 패키지: 기본 패키지 이름을 채택하십시오.
    • 랩퍼 스타일 사용: WSDL에서 Java로의 랩퍼 스타일 맵핑을 사용합니다. 문서/리터럴 랩핑 패턴을 구현하는 WSDL 문서의 경우, 루트 요소가 XML 스키마에 선언되며 메시지 플로우에 대한 오퍼레이션 랩퍼로 사용됩니다. 요청 및 응답에 대해 별도의 랩퍼 요소 정의가 존재합니다. 기본값을 채택하십시오.
    • MTOM 지원 사용: 이 선택란을 선택하면 SOAP MTOM(Message Transmission Optimization Mechanism)이 2진 컨텐츠 전송을 최적화하는 데 사용됩니다. 기본값을 채택하십시오.
    • 생성할 JAX-WS 코드 버전: WebSphere Application Server 버전 8.0부터 JAX-WS 2.1 호환 코드를 생성할 수 있습니다. 이 학습서에서는 2.1을 선택합니다.
    • 프로젝트에 WSDL 복사: WSDL 파일을 서비스 프로젝트에 복사하려면 선택하십시오. 나중에 클라이언트를 작성할 것이므로 이 선택란을 선택하십시오.
    • 직렬화 가능 JAXB 클래스 생성: WebSphere Application Server 버전 7.0 이상에서 Java 6 패싯을 사용하도록 설정하면 java.io.Serializable을 구현하는 JAXB 클래스를 생성하도록 선택할 수 있습니다. 이 인터페이스를 구현하지 않는 클래스는 직렬화되거나 역직렬화된 상태를 가지지 않습니다. 학습서에서는 이 옵션을 선택하지 마십시오.
    • JAX-WS 또는 JAXB 바인딩 파일 지정: 이 항목을 지정하면 JAX-WS 또는 JAXB 사용자 정의 바인딩 파일을 사용할 수 있습니다. 학습서에서는 이 옵션을 선택하지 마십시오.
    • 서비스 구현 클래스 이름 사용자 정의: 이 옵션을 사용하면 기본 포트 이름을 서비스 구현 클래스 이름 맵핑으로 변경할 수 있습니다. 학습서에서는 이 옵션을 선택하지 마십시오.
    • 스키마 라이브러리 생성: 이 옵션을 선택하면 Java 컴파일러에 대한 JAX-WS 스키마를 실행하여 스키마를 생성합니다. 이 학습서에서는 이 옵션을 선택하지 마십시오.
    • 웹 서비스 배치 디스크립터 생성: JAX-WS의 경우, 웹 서비스 배치 정보는 런타임에 의해 동적으로 생성되므로 정적 배치 디스크립터는 더 이상 필요하지 않습니다. 이 선택란을 선택하면 배치 디스크립터가 생성됩니다. 이 학습서에서는 배치 디스크립터가 필요하지 않습니다.
    다음을 클릭하십시오.
웹 서비스에 모든 필수 코드가 생성되었습니다.

스켈레톤 Bean에 비즈니스 로직 추가

웹 서비스 마법사 AddressBookPortImpl.java에서 생성한 스켈레톤 구현 Bean에는 비즈니스 로직이 포함되어 있지 않습니다. 런타임을 알려주는 @javax.jws.WebService 어노테이션은 포함되어 있으며, 이는 JAX-WS 웹 서비스입니다.

예상대로 주소록 웹 서비스 기능을 작성하려면, 이 Bean에 코드를 추가해야 합니다. 웹 서비스 생성 후 편집기에 주소록이 자동으로 열려야 하지만, 그렇지 않은 경우 주소록은 jwsAddressBook/Java Resources/src/com.addressbook에 있습니다.

  1. 현재 saveAddress 메소드:
        public boolean saveAddress(PersonType person) {
            return false;
        }
    위 메소드를 아래 static 필드 및 메소드로 바꾸십시오.
    	private static Hashtable<String,AddressType> addresses = new Hashtable<String,AddressType>();
        public boolean saveAddress(PersonType person) {
        	addresses.put(person.getName(),person.getAddress());
            return true;
        }
  2. 현재 findAddress 메소드:
        public AddressType findAddress(String name) throws FindAddressFault {
            return null;
        }
    위 메소드를 다음과 같이 바꾸십시오.
        public AddressType findAddress(String name) throws FindAddressFault {
            return addresses.get(name);
        }
  3. 몇몇 오류 마커가 표시될 수 있습니다. 이러한 오류를 정정하려면 Ctrl+Shift+o를 클릭하여 가져오기를 구성하십시오. java.util.Hashtable을 가져오도록 선택하십시오. 이 작업을 완료하면 오류가 회색으로 표시됩니다.
  4. 업데이트된 구현 Bean을 저장하십시오.

일반 서비스 클라이언트를 사용하여 웹 서비스 테스트

일반 서비스 클라이언트를 사용하면 클라이언트를 빌드하지 않아도 웹 서비스를 테스트할 수 있습니다. 테스트할 조작을 선택할 수 있으며 필수 정보를 입력하면 결과가 상태 분할창에 표시됩니다.
  1. 생성된 WSDL 파일 jwsAddressBook/WebContent/WEB-INF/wsdl/AddressBook.wsdl을 선택하고 마우스 오른쪽 단추를 클릭한 후 웹 서비스 > 일반 서비스 클라이언트로 테스트를 선택하십시오. 또는 프로젝트의 서비스 노드나 서비스 보기의 JAX-WS 웹 서비스 노드에서 서비스를 선택하고 해당 위치에서 일반 서비스 클라이언트를 실행할 수 있습니다.
  2. SaveAddress 조작을 선택하십시오.
  3. 각 필드에 값을 입력하고 호출을 클릭하십시오.
  4. FindAddress 조작을 선택하십시오.
  5. saveAddress 조작 호출 시 선택한 이름을 입력하고 호출을 클릭하십시오.
  6. 이 이름에 저장한 정보가 상태 분할창에 표시됩니다.

학습 체크포인트

이제 학습 3: 웹 서비스 클라이언트 작성을 시작할 수 있습니다.

< 이전 | 다음 >
주제 유형을 표시하는 아이콘 학습서 학습 주제
Information Center의 이용 약관 | 피드백

시간소인 아이콘 마지막 업데이트 날짜: 2014-05-22

파일 이름: jaxwstd_exercise12.html