Part II. JAX-RPC 웹 서비스의 지원

JEUS 6 웹 서비스는 JAX-WS 방식의 웹 서비스를 공식 지원하면서 동시에 JEUS 5 웹 서비스에서 지원하던 JAX-RPC 웹 서비스 또한 하위 호환성을 위해 공식 지원한다. 지금까지 JAX-WS 웹 서비스를 구성해서 서비스하고 클라이언트 프로그램을 작성해서 이를 호출하는 등 여러 가지 JAX-WS의 기능들에 대해 알아보았다. 본 파트부터는 하위 호환성을 위한 JAX-RPC 웹 서비스에 대한 JEUS 6 웹 서비스의 지원에 대해 알아볼 것이다.

간단히 JAX-WS 방식의 웹 서비스와 JAX-RPC 방식의 웹 서비스의 차이점에 대해 설명하면 다음과 같다. 우선 JAX-WS 방식의 웹 서비스는 JavaEE 5 웹 서비스의 표준이며 JAX-RPC 방식의 웹 서비스는 J2EE 1.4 웹 서비스의 표준이다. JEUS 6 웹 서비스는 JavaEE 5 웹 서비스의 표준인 JAX-WS 방식의 웹 서비스를 공식 지원하며, 동시에 JEUS 5에서 지원하던 J2EE 1.4 웹 서비스 표준의 JAX-RPC 방식의 웹 서비스 또한 하위 호환성을 위해 지원한다.

JAX-RPC 방식의 웹 서비스를 구현하기 위해서는 JAX-WS 방식의 웹 서비스에 비해 몇 가지 추가로 구현해야 하는 것들이 있다. Deployment Descriptor 및 JAX-RPC 매핑 파일 등이 그것인데 앞으로 나오는 여러 장들을 통해 이러한 JAX-RPC 웹 서비스를 JEUS 6 웹 서비스가 어떻게 지원하고 있는지 자세하게 알아볼 것이다.

내용 목차

20. JAX-RPC 웹 서비스의 구현
20.1. 개요
20.2. Java 클래스 웹 서비스의 구현
20.2.1. 간단한 예제
20.2.2. Java 클래스의 작성 원칙
20.3. EJB 웹 서비스의 구현
20.3.1. 간단한 예제
20.3.2. EJB 웹 서비스 작성 원칙
20.4. WSDL로부터 웹 서비스 구현
20.5. SAAJ(SOAP with Attachments API for Java)의 사용
21. JAX-RPC 웹 서비스의 생성과 배치
21.1. Java 클래스 웹 서비스 생성과 배치
21.1.1. 서비스 설정 파일 작성
21.1.2. WSDL 파일과 JAX-RPC 매핑 파일 생성
21.1.3. Deployment Descriptor 작성
21.1.4. 웹 서비스 패키징과 배치
21.2. EJB 웹 서비스 생성과 배치
21.2.1. 서비스 설정 파일 작성
21.2.2. WSDL 파일과 JAX-RPC 매핑 파일 생성
21.2.3. 웹 서비스 Deployment Descriptor 작성
21.2.4. 웹 서비스 패키징과 배치
22. JAX-RPC 웹 서비스 호출
22.1. JAX-RPC 웹 서비스 호출(JavaSE 클라이언트)
22.1.1. Stub 클라이언트
22.1.2. DII 클라이언트
22.2. JAX-RPC 웹 서비스의 호출(JavaEE 클라이언트)
22.2.1. JavaEE 클라이언트 프로그래밍 모델
22.2.2. JavaEE 클라이언트 프로그래밍 절차
22.2.3. JavaEE 클라이언트의 작성과 예제
23. JAX-RPC 웹 서비스의 SOAP 메시지 핸들러 생성
23.1. SAAJ 사용
23.1.1. SOAP 메시지의 생성
23.1.2. SAAJ 문서 다루기
23.1.3. SAAJ를 이용한 SOAP 메시지 전송
23.2. SOAP 메시지 핸들러의 생성
23.2.1. 메시지 핸들러의 생성
23.2.2. 메시지 핸들러와 핸들러 체인의 설계
23.2.3. 핸들러 인터페이스의 구현
23.2.4. JavaEE 웹 서비스 Deployment Descriptor 작성
23.2.5. 클라이언트에서 SOAP 메시지 핸들러의 사용
23.2.6. 파일 송수신하는 웹 서비스와 클라이언트 예제
24. JAX-RPC 웹 서비스 설정 파일 작성
24.1. JAX-RPC 웹 서비스 DD 파일 작성
24.2. 웹 서비스의 매핑 파일 작성
24.2.1. JAX-RPC 매핑 파일 내용
24.2.2. JAX-RPC 매핑 파일 작성
25. JAX-RPC 웹 서비스 데이터 타입
25.1. 개요
25.2. Java와 XML 타입 매핑
25.2.1. 내장 타입 매핑
25.2.2. 배열
25.2.3. 사용자 정의 타입 : JAX-RPC Value Type
25.3. JAX-RPC Value Type의 사용
25.3.1. JAX-RPC Value Type을 사용하는 웹 서비스 생성
25.3.2. JAX-RPC Value Type을 사용하는 웹 서비스 클라이언트 생성
25.4. Holder를 In/Out Parameter로 사용
25.4.1. 내장 Holder 클래스
25.4.2. 사용자 정의 타입을 위한 Holder 클래스 작성
25.5. Exception을 SOAP Fault
25.6. MIME-Type을 javax.activation.DataHandler Type으로 매핑
25.6.1. Wsdl2java에서 dataHandlerOnly 옵션 사용
25.7. Doc/Literal에서 Data binding을 사용하지 않기
25.7.1. Wsdl2java에서 noDataBinding 옵션 사용
26. JAX-RPC 웹 서비스의 보안
26.1. 개요
26.2. 전송 수준 보안
26.2.1. 서버 SSL 설정
26.2.2. 클라이언트 응용 프로그램의 SSL 설정
26.3. 메시지 수준 보안
26.3.1. 웹 서비스 보안 적용
26.3.2. 웹 서비스 보안 아키텍처
26.3.3. JEUS 웹 서비스 보안 설정
26.3.4. 패스워드 콜백 클래스 생성
26.3.5. JEUS 웹 서비스 서버 보안 적용 예제
26.3.6. JEUS 웹 서비스 클라이언트 보안 적용 예제
26.3.7. 보안 API를 이용한 JEUS 웹 서비스 클라이언트의 작성
26.4. 접근 제어 설정
26.4.1. Java 클래스 웹 서비스 접근 제어 설정
26.4.2. EJB 웹 서비스의 접근 제어 설정
26.4.3. 접근 제어가 설정된 웹 서비스 호출