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

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

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

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

내용 목차

21. JAX-RPC 웹 서비스 구현
21.1. 개요
21.2. Java 클래스 웹 서비스의 구현
21.2.1. 간단한 예제
21.2.2. Java 클래스의 작성 원칙
21.3. EJB 웹 서비스의 구현
21.3.1. 간단한 예제
21.3.2. EJB 웹 서비스 작성 원칙
21.4. WSDL로부터 웹 서비스 구현
21.5. SAAJ의 사용
22. JAX-RPC 웹 서비스 생성과 배치
22.1. Java 클래스 웹 서비스 생성과 배치
22.1.1. 서비스 설정 파일 작성
22.1.2. WSDL 파일과 JAX-RPC 매핑 파일 생성
22.1.3. 웹 서비스 DD 파일 작성
22.1.4. 패키징과 배치
22.2. EJB 웹 서비스 생성과 배치
22.2.1. 서비스 설정 파일 작성
22.2.2. WSDL 파일과 JAX-RPC 매핑 파일 생성
22.2.3. 웹 서비스 DD 파일 작성
22.2.4. 패키징과 배치
23. JAX-RPC 웹 서비스 호출
23.1. JAX-RPC 웹 서비스 호출(Java SE 클라이언트)
23.1.1. Stub 클라이언트
23.1.2. DII 클라이언트
23.2. JAX-RPC 웹 서비스의 호출(Java EE 클라이언트)
23.2.1. Java EE 클라이언트 프로그래밍 모델
23.2.2. Java EE 클라이언트 프로그래밍 절차
23.2.3. Java EE 클라이언트의 작성과 예제
24. JAX-RPC 웹 서비스 SOAP 메시지 핸들러 생성
24.1. SAAJ 사용
24.1.1. SOAP 메시지의 생성
24.1.2. SAAJ 문서 다루기
24.1.3. SAAJ를 이용한 SOAP 메시지 전송
24.2. SOAP 메시지 핸들러의 생성
24.2.1. 메시지 핸들러의 생성
24.2.2. 메시지 핸들러와 핸들러 체인의 설계
24.2.3. 핸들러 인터페이스의 구현
24.2.4. Java EE 웹 서비스 DD 파일 작성
24.2.5. 클라이언트에서 SOAP 메시지 핸들러의 사용
24.2.6. 파일 송수신하는 웹 서비스와 클라이언트 예제
25. JAX-RPC 웹 서비스 설정 파일 작성
25.1. JAX-RPC 웹 서비스 DD 파일 작성
25.2. 웹 서비스의 매핑 파일 작성
25.2.1. JAX-RPC 매핑 파일 내용
25.2.2. JAX-RPC 매핑 파일 작성
26. JAX-RPC 웹 서비스 데이터 타입
26.1. 개요
26.2. Java와 XML 타입 매핑
26.2.1. 내장 타입 매핑
26.2.2. 배열
26.2.3. 사용자 정의 타입 : JAX-RPC Value Type
26.3. JAX-RPC Value 타입의 사용
26.3.1. JAX-RPC Value 타입을 사용하는 웹 서비스 생성
26.3.2. JAX-RPC Value 타입을 사용하는 웹 서비스 클라이언트 생성
26.4. Holder 클래스
26.4.1. 내장 Holder 클래스
26.4.2. 사용자 정의 타입을 위한 Holder 클래스 작성
26.5. Exception과 SOAP Fault
26.6. MIME 타입을 DataHandler 타입으로 매핑
26.6.1. Wsdl2java에서 dataHandlerOnly 옵션 사용
26.7. Doc/Literal에서 데이터 바인딩을 사용하지 않기
26.7.1. Wsdl2java에서 noDataBinding 옵션 사용
27. JAX-RPC 웹 서비스의 보안
27.1. 개요
27.2. 전송 수준 보안
27.3. 메시지 수준 보안
27.3.1. 웹 서비스 보안 적용
27.3.2. 웹 서비스 보안 아키텍처
27.3.3. JEUS 웹 서비스 보안 설정
27.3.4. 패스워드 Callback 클래스 생성
27.3.5. JEUS 웹 서비스 서버 보안 적용 예제
27.3.6. JEUS 웹 서비스 클라이언트 보안 적용 예제
27.3.7. 보안 API를 이용한 JEUS 웹 서비스 클라이언트의 작성
27.4. 접근 제어 설정
27.4.1. Java 클래스 웹 서비스 접근 제어 설정
27.4.2. EJB 웹 서비스의 접근 제어 설정
27.4.3. 접근 제어가 설정된 웹 서비스 호출