JEUS Web Service 안내서 

JEUS 21

Restricted Rights Legend

All TmaxSoft Software(JEUS®) and documents are protected by copyright laws and international convention. TmaxSoft software and documents are made available under the terms of the TmaxSoft License Agreement and this document may only be distributed or copied in accordance with the terms of this agreement. No part of this document may be transmitted, copied, deployed, or reproduced in any form or by any means, electronic, mechanical, or optical, without the prior written consent of TmaxSoft Co., Ltd. Nothing in this software document and agreement constitutes a transfer of intellectual property rights regardless of whether or not such rights are registered) or any rights to TmaxSoft trademarks, logos, or any other brand features.

This document is for information purposes only. The company assumes no direct or indirect responsibilities for the contents of this document, and does not guarantee that the information contained in this document satisfies certain legal or commercial conditions. The information contained in this document is subject to change without prior notice due to product upgrades or updates. The company assumes no liability for any errors in this document.

이 소프트웨어(JEUS®) 사용설명서의 내용과 프로그램은 저작권법과 국제 조약에 의해서 보호받고 있습니다. 사용설명서의 내용과 여기에 설명된 프로그램은 TmaxSoft Co., Ltd.와의 사용권 계약 하에서만 사용이 가능하며, 사용설명서는 사용권 계약의 범위 내에서만 배포 또는 복제할 수 있습니다. 이 사용설명서의 전부 또는 일부분을 TmaxSoft의 사전 서면 동의 없이 전자, 기계, 녹음 등의 수단을 사용하여 전송, 복제, 배포, 2차적 저작물작성 등의 행위를 하여서는 안 됩니다.

이 소프트웨어 사용설명서와 프로그램의 사용권 계약은 어떠한 경우에도 사용설명서 및 프로그램과 관련된 지적재산권(등록 여부를 불문)을 양도하는 것으로 해석되지 아니하며, 브랜드나 로고, 상표 등을 사용할 권한을 부여하지 않습니다. 사용설명서는 오로지 정보의 제공만을 목적으로 하고, 이로 인한 계약상의 직접적 또는 간접적 책임을 지지 아니하며, 사용설명서 상의 내용은 법적 또는 상업적인 특정한 조건을 만족시키는 것을 보장하지는 않습니다. 사용설명서의 내용은 제품의 업그레이드나 수정에 따라 그 내용이 예고 없이 변경될 수 있으며, 내용상의 오류가 없음을 보장하지 아니합니다.

Trademarks

JEUS® is registered trademark of TmaxSoft Co., Ltd.

JEUS®는 TmaxSoft Co., Ltd.의 등록 상표입니다.

Java and Solaris are registered trademarks of Oracle Corporation and its subsidiaries and affiliates.

Java, Solaris는 Oracle Corporation 및 그 자회사, 관계회사의 등록 상표입니다.

Microsoft, Windows, and Windows NT are registered trademarks or trademarks of Microsoft Corporation.

Microsoft, Windows, Windows NT는 Microsoft Corporation의 등록 상표 또는 상표입니다.

HP-UX is a registered trademark of Hewlett Packard Enterprise Company.

HP-UX는 Hewlett Packard Enterprise Company의 등록 상표입니다.

AIX is a registered trademark of International Business Machines Corporation.

AIX는 International Business Machines Corporation의 등록 상표입니다.

UNIX is a registered trademark of X/Open Company, Ltd.

UNIX는 X/Open Company, Ltd.의 등록 상표입니다.

Linux is a registered trademark of Linus Torvalds.

Linux는 Linus Torvalds의 등록 상표입니다.

Noto is a trademark of Google Inc. Noto fonts are open source. All Noto fonts are published under the SIL Open Font License, Version 1.1. (https://www.google.com/get/noto/)

Noto는 Google Inc.의 상표입니다. Noto 글꼴은 오픈 소스입니다. 모든 Noto 글꼴은 SIL Open Font License, 버전 1.1에 따라 게시됩니다. (https://www.google.com/get/noto/)

Other products and company names are trademarks or registered trademarks of their respective owners.

기타 모든 제품들과 회사 이름은 각각 해당 소유주의 상호, 상표, 또는 등록 상표입니다.

The names of companies, systems, and products mentioned in this manual may not necessarily be indicated with a trademark symbol (TM, ®).

본 사용설명서에 기재된 회사, 시스템, 제품 이름 등에 반드시 상표 표시 (TM, ®)를 하지는 않습니다.

안내서 정보

안내서 제목: JEUS Web Service 안내서 

발행일: 2022-09-02

소프트웨어 버전: JEUS 21

안내서 버전: v2.1.1.0


내용 목차

안내서에 대하여
1. 웹 서비스
1.1. 기본 개념
1.2. 웹 서비스 표준
1.2.1. SOAP 표준
1.2.2. WSDL 표준
1.2.3. UDDI 표준
1.2.4. JAX-WS, JAXB, StAX 표준
1.2.5. JAX-RPC 표준
1.2.6. SAAJ 표준
1.3. SOAP 메시지 교환과 SOAP 메시지 인코딩
2. JEUS 웹 서비스
2.1. 기본 구조
2.2. 웹 서비스 설계
2.2.1. 웹 서비스 Back-end 선택
2.2.2. RPC 방식과 문서 방식의 선택
2.2.3. 웹 서비스 구현 방식 선택
2.2.4. SOAP 메시지 핸들러 생성
I. JEUS 21 웹 서비스
3. JEUS 웹 서비스 구현
3.1. 개요
3.2. Java 클래스 웹 서비스 구현
3.3. EJB 웹 서비스 구현
3.4. WSDL로부터 웹 서비스 구현
4. 웹 서비스 생성과 배치
4.1. 개요
4.2. Java 클래스 웹 서비스 생성과 배치
4.3. EJB 웹 서비스 생성과 배치
4.4. WSDL 웹 서비스 생성과 배치
4.5. Endpoint 주소 결정 방식
4.5.1. 서블릿 Endpoint
4.5.2. EJB Endpoint
5. 웹 서비스 호출
5.1. 개요
5.2. 동적 프록시 방식의 웹 서비스 호출
5.2.1. Client Artifact 생성
5.2.2. Java SE 클라이언트 방식
5.2.3. Jakarta EE 클라이언트 방식
5.3. 디스패치 방식의 웹 서비스 호출
6. 표준 바인딩 선언 및 사용자화
6.1. 개요
6.2. 표준 바인딩 선언
6.2.1. 외부 문서(파일)에서 직접 선언
6.2.2. WSDL 문서 내에서 직접 선언
6.3. 표준 바인딩의 사용자화
6.3.1. 전체적인 바인딩
6.3.2. 패키지명의 사용자화
6.3.3. Wrapped 스타일
6.3.4. 비동기화
6.3.5. 프로바이더 인터페이스
6.3.6. 클래스명의 사용자화
6.3.7. Java 메소드의 사용자화
6.3.8. Java 파라미터의 사용자화
6.3.9. XML 스키마의 사용자화
6.3.10. 핸들러 체인의 사용자화
7. 핸들러 프레임워크
7.1. 개요
7.2. 핸들러 체인 우선순위
7.3. 핸들러 클래스 구성
7.3.1. 핸들러 클래스의 선언
7.4. 핸들러 클래스 설정
7.4.1. Java 클래스로부터 웹 서비스 구성
7.4.2. WSDL로부터 웹 서비스 구성
7.4.3. 클라이언트 구성
7.5. 핸들러 체인을 사용하는 웹 서비스 예제
7.6. 웹 서비스의 핸들러 프레임워크 실행
8. 프로바이더와 디스패치 인터페이스
8.1. 개요
8.2. 서비스 Endpoint 프로바이더 인터페이스
8.2.1. 프로바이더 인터페이스
8.2.2. 프로바이더 인터페이스 예제
8.2.3. 프로바이더 인터페이스 예제 실행
8.3. 클라이언트 디스패치 인터페이스
8.3.1. 디스패치 인터페이스
8.3.2. 디스패치 인터페이스 예제
8.3.3. 디스패치 예제 실행
8.4. XML/HTTP 바인딩
8.4.1. RESTful 웹 서비스
8.4.2. RESTful 웹 서비스 예제
8.4.3. RESTful 웹 서비스 예제 실행
9. 비동기 웹 서비스
9.1. 개요
9.2. 클라이언트 비동기 오퍼레이션
9.2.1. 비동기 메소드를 가진 SEI Stub 이용 방법
9.2.2. 디스패치 인터페이스 이용하는 방법
9.3. 비동기 웹 서비스
9.3.1. 비동기 웹 서비스 설정
10. MIME Attachment 메시지 전송
10.1. 개요
10.2. MTOM/XOP
10.2.1. 기본 동작
10.2.2. Attachment 바이너리 데이터 크기 설정
10.2.3. MTOM/XOP 예제
10.2.4. MTOM/XOP 예제 실행
10.3. swaRef
10.3.1. swaRef 사용법
10.3.2. swaRef 예제
10.3.3. swaRef 예제 실행
10.4. 스트리밍 방식으로 첨부 파일을 처리하는 방법
11. Fast Infoset 웹 서비스
11.1. 개요
11.2. Fast Infoset 사용
11.2.1. Content Negotiation
11.3. Fast Infoset 예제
11.4. Fast Infoset 웹 서비스 실행
12. JAX-WS JMS 기반 전송
12.1. 개요
12.2. JAX-WS JMS 기반 전송 설정
12.2.1. JMS 서버 설정
12.2.2. 웹 서비스 작성
12.2.3. WSDL 설정
12.2.4. 웹 서비스 클라이언트 작성
13. 웹 서비스 정책
13.1. 개요
13.2. 웹 서비스의 정책(WS-Policy)
13.3. 서버 정책 설정
13.3.1. WSDL로부터 웹 서비스 구성
13.3.2. Java 클래스로부터 웹 서비스 구성
13.4. 클라이언트 정책 설정
14. 웹 서비스 Addressing
14.1. 개요
14.2. 서버 설정
14.2.1. Java 클래스로부터 설정
14.2.2. WSDL로부터 설정
14.3. 클라이언트 설정
14.4. 예제
14.5. 예제 실행
15. 신뢰성 메시징 기술
15.1. 개요
15.2. 서버 설정
15.2.1. WSDL로부터 설정
15.2.2. Java 클래스로부터 설정
15.3. 클라이언트 설정
15.4. 예제
15.5. 예제 실행
16. 웹 서비스 트랜잭션
16.1. 개요
16.2. 서버 설정
16.2.1. WSDL로부터 설정
16.2.2. Java 클래스로부터 설정
16.3. 클라이언트 설정
16.4. 코디네이터 서비스
16.5. 웹 서비스 트랜잭션 예제
17. 웹 서비스 보안
17.1. 개요
17.2. 전송 수준 보안
17.3. 메시지 수준 보안
17.3.1. 웹 서비스 보안 정책
17.3.2. 웹 서비스 보안
17.3.3. 웹 서비스 보안 대화
17.3.4. 웹 서비스 신뢰
17.4. 메시지 수준 보안 설정
17.4.1. 공통 설정
17.4.2. 사용자명 인증을 통한 대칭 바인딩의 인증 기능 강화
17.4.3. 상호 인증 보안
17.4.4. SSL을 통한 SAML 인증
17.4.5. 보안 대화
17.4.6. 웹 서비스 신뢰
17.4.7. 실행
17.5. JAX-RPC(JEUS 5) 웹 서비스 보안 이전 방법
17.5.1. 암호화
17.5.2. 서명
17.5.3. Timestamp
17.5.4. 사용자명 토큰
17.6. 접근 제어 설정된 웹 서비스 호출 방법
17.6.1. Portable Artifact 생성
17.6.2. 웹 서비스의 클라이언트 작성
18. Server-Sent Event
18.1. 개요
18.2. JAX-RS 리소스에서 Server-Sent Events(SSE) 지원
18.3. JAX-RS 클라이언트에서 SSE 이벤트 처리
18.3.1. EventInput를 사용하여 SSE 이벤트 읽기
18.3.2. EventSource를 사용하여 비동기 SSE 처리
19. UDDI 이용
19.1. 개요
19.1.1. UDDI 이용
19.2. JEUS에서 UDDI 서버 운영
19.2.1. UDDI DataStore 생성
19.2.2. UDDI 서버 Deploying
19.2.3. UDDI 서버 구성 설정
19.2.4. 새로운 사용자 추가
19.2.5. UDDI 서버 실행
19.3. JEUS 서버에서의 UDDI Explorer 사용
19.3.1. UDDI 레지스트리 Querying
19.3.2. UDDI 레지스트리에 대한 Publish
19.3.3. UDDI Explorer 설정
19.4. UDDI 클라이언트 생성
19.4.1. UDDI 클라이언트 작성
19.4.2. UDDI 클라이언트 컴파일
19.4.3. UDDI 클라이언트 실행
19.5. XML 디지털 서명 사용법
19.5.1. 디지털 서명(Digital Signature)
19.5.2. UDDI 클라이언트 XML 서명 생성 방법
19.5.3. UDDI 클라이언트 XML 서명 검증
19.6. UDDI subscription 사용법
19.6.1. 기본 개념
19.6.2. 생성 방법
19.6.3. UDDI subscription 예제
19.6.4. UDDI subscription 클라이언트 프로그래밍
19.6.5. 이메일 공지를 받기 위한 UDDI 서버 설정
19.7. UDDI WSDL Publishing 사용법
19.7.1. UDDI WSDL Publishing
19.7.2. wsdl2uddi 사용
20. JEUS 웹 서비스 XML
20.1. 개요
20.2. JAXB(XML 바인딩을 위한 Java 아키텍처)
20.2.1. 바인딩 컴파일러(XJC) 관련 프로그래밍 기법
20.2.2. 스키마 생성기(Schemagen) 관련 프로그래밍 기법
20.3. JAXP(XML을 다루기 위한 Java 표준 API)
20.3.1. StAX(Java 스트리밍 XML 파서)
II. JAX-RPC 웹 서비스의 지원
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 웹 서비스의 호출(Jakarta EE 클라이언트)
23.2.1. Jakarta EE 클라이언트 프로그래밍 모델
23.2.2. Jakarta EE 클라이언트 프로그래밍 절차
23.2.3. Jakarta 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. Jakarta 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. 접근 제어가 설정된 웹 서비스 호출
용어해설
색인

그림 목차

[그림 2.1] JEUS 웹 서비스의 구조
[그림 7.1] Relationship between the message contexts
[그림 7.2] Handler Framework
[그림 11.1] Fast Infoset의 직렬화/파싱
[그림 17.1] WS-Trust
[그림 19.1] 정보 계층과 주요 XML 태그 이름
[그림 19.2] JEUS UDDI 레지스트리 초기 화면
[그림 19.3] UDDI Search 입력 폼 화면
[그림 19.4] UDDI 레지스트리에서 찾은 결과 화면
[그림 19.5] 등록한 entry 화면
[그림 19.6] Provider 수정 화면
[그림 19.7] 서비스 추가 화면
[그림 19.8] tModel 저장 결과 화면
[그림 19.9] 서비스 바인딩(bindingTemplate) 추가 화면
[그림 19.10] 서비스 바인딩(bindingTemplate) 저장 결과 화면
[그림 19.11] JEUS UDDI Explorer 사용자 관리 화면
[그림 19.12] JEUS UDDI Explorer 사용자 등록 화면
[그림 19.13] UDDI subscription 흐름도
[그림 19.14] WSDL description과 UDDI Data Structure 매핑
[그림 19.15] UDDI에 Publishing된 wsdl의 모습
[그림 24.1] Structure of SOAP with Attachment
[그림 27.1] JEUS 웹 서비스 보안 아키텍처

예 목차

[예 3.1] Java 클래스 웹 서비스 : <<Addnumbersimpl.java >>
[예 3.2] Java 클래스 웹 서비스 : <<build.xml >>
[예 3.3] Java 클래스 웹 서비스 : <<AddNumbersImplService.wsdl>>
[예 3.4] Java 클래스 웹 서비스 : <<AddNumbers.java >>
[예 3.5] Java 클래스 웹 서비스 : <<AddNumbersResponse.java>>
[예 3.6] EJB 웹 서비스 구현 : <<Addnumbersimpl.java >>
[예 3.7] EJB 웹 서비스 구현 : <<build.xml >>
[예 3.8] EJB 웹 서비스 구현 : <<AddNumbersImplService.wsdl>>
[예 3.9] EJB 웹 서비스 구현 : <<AddNumbers.java >>
[예 3.10] EJB 웹 서비스 구현 : <<AddNumbersResponse.java >>
[예 3.11] WSDL 웹 서비스 구현 : <<AddNumbers.wsdl >>
[예 3.12] WSDL 웹 서비스 구현 : <<build.xml >>
[예 3.13] WSDL 웹 서비스 구현 : <<AddNumbersPortType.java>>
[예 3.14] WSDL 웹 서비스 구현 : <<AddNumbers.java >>
[예 3.15] WSDL 웹 서비스 구현 : <<AddNumbersResponse.java>>
[예 3.16] WSDL 웹 서비스 구현 : <<AddNumbersImpl.java >>
[예 4.1] web.xml 파일의 <url-pattern> 사용 : <<web.xml>>
[예 4.2] Endpoint 클래스 : <<AddNumbersImpl.java>>
[예 4.3] @EndpointDescription Annotation 사용 : <<AddNumbersImpl.java>>
[예 4.4] @WebService Annotation의 serviceName 속성 사용 : <<AddNumbersImpl.java>>
[예 4.5] Endpoint 클래스 : <<AddNumbersImpl.java>>
[예 4.6] @EndpointDescription Annotation 사용 (1) : <<AddNumbersImpl.java>>
[예 4.7] @EndpointDescription Annotation 사용 (2) : <<AddNumbersImpl.java>>
[예 4.8] @WebService Annotation의 serviceName 속성 사용 (1) : <<AddNumbersImpl.java>>
[예 4.9] @WebService Annotation의 serviceName 속성 사용 (2) : <<AddNumbersImpl.java>>
[예 4.10] 컨텍스트의 기본값 사용 Endpoint 클래스 : <<AddNumbersImpl.java>>
[예 5.1] Client Artifact 생성 : <<build.xml>>
[예 5.2] 서비스 인터페이스 클래스 : <<AddNumbersImplService.java>>
[예 5.3] 서비스 Endpoint 인터페이스 : <<AddNumbersImpl.java>>
[예 5.4] Java Bean 클래스 : <<AddNumbers.java>>
[예 5.5] Java Bean 클래스 : <<AddNumbersResponse.java>>
[예 5.6] Java SE 클라이언트 프로그램 : <<AddNumbersClient.java>>
[예 5.7] Jakarta EE 클라이언트 : <<AddNumbersClient.java>>
[예 6.1] 외부 문서(파일)에서 직접 선언 : <<custom-client.xml>>
[예 6.2] WSDL 문서 컴포넌트의 바인딩 설정 : <<custom-client.xml>>
[예 6.3] WSDL 문서 내에서 직접 선언 : <<AddNumbers.wsdl>>
[예 6.4] 전체적인 바인딩 : <<custom-client.xml>>
[예 6.5] 패키지명의 사용자화 (1) : <<custom-client.xml>>
[예 6.6] 패키지명의 사용자화 (2) : <<custom-client.xml>>
[예 6.7] Wrapped 스타일 사용자화 : <<custom-client.xml>>
[예 6.8] 비동기화 사용자화 : <<custom-client.xml>>
[예 6.9] 서비스 Endpoint 인터페이스 클래스 바인딩 사용자화 : <<custom-client.xml>>
[예 6.10] 예외 클래스명 바인딩 사용자화 : <<custom-client.xml>>
[예 6.11] 서비스 클래스명 바인딩 사용자화 : <<custom-client.xml>>
[예 6.12] 서비스 Endpoint 인터페이스 메소드 사용자화 : <<custom-client.xml>>
[예 6.13] 포트에 접근하기 위한 서비스 클래스 메소드 사용자화 : <<custom-client.xml>>
[예 6.14] Java 파라미터의 사용자화 : <<custom-client.xml>>
[예 6.15] XML 스키마의 사용자화 (1) : <<custom-client.xml>>
[예 6.16] XML 스키마의 사용자화 (2) : <<custom-client.xml>>
[예 6.17] 핸들러 체인의 사용자화 : <<custom-client.xml>>
[예 7.1] 핸들러 클래스 : <<MyLogicalHandler.java>>
[예 7.2] 핸들러 클래스 : <<MySOAPHandler.java>>
[예 7.3] 핸들러 클래스 : <<MyLogicalHandler.java>>
[예 7.4] Java 클래스 웹 서비스 구성 : <<MyServiceImpl.java>>
[예 7.5] Java 클래스 웹 서비스 구성 : <<handlers.xml>>
[예 7.6] 핸들러 체인을 사용하는 웹 서비스 : <<LoggingHandler.java>>
[예 7.7] 핸들러 체인을 사용하는 웹 서비스 클래스 : <<handlers.xml>>
[예 7.8] 핸들러 체인을 사용하는 웹 서비스 클래스: <<AddNumbersImpl.java>>
[예 7.9] 핸들러 체인을 사용하는 웹 서비스 클라이언트 클래스 : <<AddNumbersClient.java>>
[예 7.10] 핸들러 체인을 사용하는 웹 서비스 바인딩 사용자 선언 : <<custom-client.xml>>
[예 8.1] 프로바이더 인터페이스 : <<AddnumbersImpl.java>>
[예 8.2] 디스패치 인터페이스 : <<AddNumbersClient.java>>
[예 8.3] RESTful 웹 서비스 : <<AddNumbersImpl.java>>
[예 8.4] RESTful 웹 서비스 클라이언트 : <<AddNumbersClient.java>>
[예 9.1] 비동기화 바인딩 : <<custom-schema.xml>>
[예 9.2] 비동기화 바인딩 : <<build.xml>>
[예 9.3] Polling 메소드를 사용하는 클라이언트 : <<AddNumbersClient.java>>
[예 9.4] Callback 메소드 사용하는 클라이언트 핸들러 객체 : <<AddNumbersClient.java>>
[예 9.5] Callback 메소드를 이용하는 클라이언트 : <<AddNumbersClient.java>>
[예 9.6] 비동기 웹 서비스 설정 : <<AddNumbersImpl.java>>
[예 9.7] 비동기 웹 서비스 설정 : <<web.xml>>
[예 10.1] MTOM/XOP가 적용된 WSDL 파일 : <<hello.wsdl>>
[예 10.2] swaRef가 적용된 WSDL 파일의 예제 : <<hello.wsdl>>
[예 10.3] 스트리밍 방식으로 첨부 파일을 처리 : <<AttachmentApp.java>>
[예 11.1] Fast Infoset 예제 : <<AddNumbersClient.java>>
[예 12.1] JMS 서버 설정 : <<domain.xml>>
[예 12.2] 웹 서비스 Endpoint : <<AddNumbersImpl.java>>
[예 12.3] WSDL 설정 : <<AddNumbers.wsdl>>
[예 12.4] 웹 서비스 클라이언트 : <<AddNumbersClient.java>>
[예 13.1] Java 클래스로부터 웹 서비스 구성 : <<service-config.xml>>
[예 14.1] 서버 웹 서비스 Addressing 설정 (1) : <<AddnumbersImpl.java>>
[예 14.2] 서버 웹 서비스 Addressing 설정 (2) : <<AddnumbersImpl.java>>
[예 14.3] 서버 웹 서비스 Addressing 설정 (3) : <<Addnumbers.wsdl>>
[예 14.4] 웹 서비스 Addressing : <<AddNumbersImpl.java>>
[예 15.1] 서버의 WS-Reliable Messaging 설정 : <<AddNumbers.wsdl>>
[예 15.2] Java 클래스의 WS-Reliable Messaging 설정 : <<service-config.xml>>
[예 15.3] WS-Reliable Messaging 설정 : <<service-config.xml>>
[예 16.1] WSDL 웹 서비스 트랜잭션 설정 : <<AddNumbers.wsdl>>
[예 16.2] Java 클래스 웹 서비스 트랜잭션 설정 : <<AddnumbersImpl.java>>
[예 16.3] 웹 서비스 트랜잭션 : <<AddNumbersClient.jsp>>
[예 17.1] 서버 메시지 수준 보안 설정 (1) : <<jeus-webservices-config.xsd>>
[예 17.2] 서버 메시지 수준 보안 설정 (2) : <<jeus-webservices-config.xsd>>
[예 17.3] 서버 Java 클래스 메시지 수준 보안 설정 (1) : <<jeus-webservices-config.xsd>>
[예 17.4] 서버 Java 클래스 메시지 수준 보안 설정 (2) : <<jeus-webservices-config.xsd>>
[예 17.5] 서버 Java 클래스 메시지 수준 보안 설정 (3) : <<jeus-webservices-config.xsd>>
[예 17.6] 서버 Java 클래스 메시지 수준 보안 설정 (4) : <<jeus-webservices-config.xsd>>
[예 17.7] 서버 Java 클래스 메시지 수준 보안 설정 (5) : <<jeus-webservices-config.xsd>>
[예 17.8] 서버 Java 클래스 메시지 수준 보안 설정 (6) : <<jeus-webservices-config.xsd>>
[예 17.9] 서버 Java 클래스 메시지 수준 보안 설정 (7) : <<jeus-webservices-config.xsd>>
[예 17.10] 서버 Java 클래스 메시지 수준 보안 설정 (8) : <<jeus-webservices-config.xsd>>
[예 17.11] 서버 Java 클래스 메시지 수준 보안 설정 (9) : <<jeus-webservices-config.xsd>>
[예 17.12] 서버 Java 클래스 메시지 수준 보안 설정 (10) : << jeus-webservices-config.xsd>>
[예 17.13] WSDL 메시지 수준 보안 설정 : <<jeus-webservices-config.xsd>>
[예 17.14] 클라이언트 메시지 수준 보안 설정 : <<jeus-webservices-config.xsd>>
[예 17.15] 웹 서비스 설정 파일 : <<service-config.xml>>
[예 17.16] 사용자명의 유효자 클래스 : <<UsernamePasswordValidator.java>>
[예 17.17] Keystore(Truststore) 설정 및 사용자명 핸들러의 설정 : <<wsit-client.xml>>
[예 17.18] 사용자명 핸들러 클래스 : <<UsernamePasswordCallbackHandler.java>>
[예 17.19] 서버 상호 인증 보안 설정 : <<service-config.xml>>
[예 17.20] 클라이언트 상호 인증 보안 설정 : <<wsit-client.xml>>
[예 17.21] 서버 SSL을 통한 SAML 인증 설정 : <<service-config.xml>>
[예 17.22] Callback 핸들러 클래스 설정 : <<wsit-client.xml>>
[예 17.23] Callback 핸들러 클래스 작성 : <<SamlCallbackHandler.java>>
[예 17.24] 서버 보안 대화 설정 : <<service-config.xml>>
[예 17.25] 클라이언트 보안 대화 설정 : <<wsit-client.xml>>
[예 17.26] 서버 웹 서비스 신뢰 설정 : <<service-config.xml>>
[예 17.27] WS-SecurityPolicy 설정 : <<sts.wsdl>>
[예 17.28] 클라이언트 웹 서비스 신뢰 설정 : <<wsit-client.xml>>
[예 17.29] JAX-RPC 웹 서비스 암호화 설정 : <<jeus-webservices-dd.xml>>
[예 17.30] JAX-WS(JEUS 21) 웹 서비스 암호화 설정 : <<service-config.xml>>
[예 17.31] JAX-RPC 웹 서비스 서명 설정 : <<jeus-webservices-dd.xml>>
[예 17.32] JAX-WS(JEUS 21) 웹 서비스 서명 설정 : <<service-config.xml>>
[예 17.33] JAX-RPC(JEUS 5) 웹 서비스 Timestamp 설정 : <<jeus-webservices-dd.xml>>
[예 17.34] JAX-WS(JEUS 21) 웹 서비스 Timestamp 설정 : <<service-config.xml>>
[예 17.35] JAX-RPC(JEUS 5) 웹 서비스 사용자명 토큰 설정 : <<jeus-webservices-dd.xml>>
[예 17.36] JAX-WS(JEUS 21) 웹 서비스 사용자명 토큰 설정 : <<service-config.xml>>
[예 17.37] 권한 설정 파일 : <<authorization.txt>>
[예 17.38] 웹 서비스 클라이언트 : <<AddNumberClient.java>>
[예 18.1] 간단한 SSE 리소스 메소드
[예 18.2] EventInput를 사용하여 SSE 이벤트 읽기
[예 18.3] EventSource를 사용하여 SSE 이벤트 읽기
[예 19.1] UDDI 서버 Deploying : <<jeus-web-dd.xml>>
[예 19.2] UDDI 서버 Deploying : <<web.xml>>
[예 20.1] XJC Ant Task를 이용한 프로그래밍 : <<build.xml>>
[예 20.2] XJC Ant Task를 이용한 프로그래밍 (1) : <<Main.java>>
[예 20.3] XJC Ant Task를 이용한 프로그래밍 (2) : <<Main.java>>
[예 20.4] XJC Ant Task를 이용한 프로그래밍 (3) : <<Main.java>>
[예 20.5] Schemagen Ant Task를 이용한 프로그래밍 : <<build.xml>>
[예 20.6] Schemagen Ant Task를 이용한 프로그래밍 (1) : <<Main.java>>
[예 20.7] Schemagen Ant Task를 이용한 프로그래밍 (2) : <<Main.java>>
[예 21.1] EJB 웹 서비스 구현 : <<HelloIF.java>>
[예 21.2] EJB 웹 서비스 구현 : <<Hello.java>>
[예 21.3] EJB 웹 서비스 구현 : <<HelloHome.java>>
[예 21.4] EJB 웹 서비스 구현 : <<HelloEJB.java>>
[예 21.5] WSDL로부터 웹 서비스 구현 : <<build.xml>>
[예 22.1] Jakarta EE 웹 서비스 DD 파일 : <<webservices.xml>>
[예 22.2] JEUS 웹 서비스 DD 파일 : <<jeus-webservices-dd.xml>>
[예 22.3] 서블릿 DD 파일 : <<web.xml>>
[예 22.4] JEUS 웹 모듈 DD 파일 : <<jeus-web-dd.xml>>
[예 22.5] EAR 응용 프로그램 : <<application.xml>>
[예 22.6] EJB 웹 서비스 설정 파일 : <<service-config.xml>>
[예 22.7] Jakarta EE 웹 서비스 DD 파일 : <<webservices.xml>>
[예 22.8] JEUS 웹 서비스 DD 파일 : <<jeus-webservices-dd.xml>>
[예 22.9] EJB DD 파일 : <<ejb-jar.xml>>
[예 22.10] EJB DD 파일 : <<jeus-ejb-dd.xml>>
[예 22.11] EAR 응용 프로그램 : <<application.xml>>
[예 23.1] 웹 서비스 Stub 생성 : <<build.xml>>
[예 23.2] 웹 서비스 클라이언트 예제 : <<ProxyClient.java>>
[예 23.3] DII 클라이언트 예제 : <<DIIClient.java>>
[예 23.4] 서비스 인터페이스의 타입과 JNDI 이름 설정 예제 : <<web.xml>>
[예 23.5] WSDL을 사용한 서비스 호출 예제 : <<build.xml>>
[예 23.6] Jakarta EE 클라이언트의 예 : <<helloClient.jsp>>
[예 23.7] 표준 DD 파일 : <<web.xml>>
[예 23.8] JEUS 웹 DD 파일 : <<jeus-web-dd.xml>>
[예 23.9] 웹 서비스를 호출하는 JSP Jakarta EE 클라이언트 : <<helloClient.jsp>>
[예 23.10] 표준 DD 파일 : <<web.xml>>
[예 24.1] 메시지 핸들러를 정의하는 <port-component>의 예
[예 24.2] 파일 수신 메시지 핸들러 구현 : <<ServerAttachmentHandler.java>>
[예 24.3] 웹 서비스 Back-end 구현 : <<FileTransfer.java>>
[예 24.4] 웹 서비스 Back-end 구현 : <<FileTransferIF.java>>
[예 24.5] 웹 서비스 DD 파일 : <<webservices.xml>>
[예 24.6] 웹 서비스 DD 파일 : <<web.xml>>
[예 24.7] 웹 서비스 DD 파일 : <<jeus-webservices-dd.xml>>
[예 24.8] 웹 서비스 클라이언트 핸들러 : <<ClientAttachmentHandler.java>>
[예 24.9] 웹 서비스 클라이언트 : <<Client.java>>
[예 25.1] JAX-RPC 웹 서비스 : <<webservices.xml>>
[예 25.2] DocLitEchoService : <<webservices.xml>>
[예 25.3] DocLitEchoService : <<web.xml>>
[예 25.4] AddressBookService : <<webservices.xml>>
[예 25.5] AddressBookService : <<web.xml>>
[예 25.6] FileAttachmentService : <<webservices.xml>>
[예 25.7] JAX-RPC 매핑 파일의 구조
[예 25.8] Java 서비스 인터페이스 정의 : <<AddressBookService.java>>
[예 26.1] JAX-RPC Value 타입을 사용하는 웹 서비스 : <<Calculator.java>>
[예 26.2] JAX-RPC Value 타입을 사용하는 웹 서비스 : <<CalcData.java>>
[예 26.3] JAX-RPC Value 타입을 사용하는 웹 서비스 : <<CalculatorIF.java>>
[예 26.4] JAX-RPC Value 타입을 사용하는 웹 서비스 클라이언트 : <<CalcClient.java>>
[예 26.5] 내장 Holder 클래스 사용 예 : <<Calculator.java>>
[예 26.6] CalcClient.java의 run() 메소드
[예 26.7] 사용자 정의 타입 Holder 클래스 작성 예제 : <<CalcData.java>>
[예 26.8] 사용자 정의 타입 Holder 클래스 작성 예제 : <<CalcDataHolder.java>>
[예 26.9] Exception 생성 예제 : <<Calculator.java>>
[예 27.1] JEUS 웹 서비스 보안 서버 설정 : <<jeus-webservices-dd.xml>>
[예 27.2] JEUS 웹 서비스 보안 클라이언트 설정 : <<jeus-web-dd.xml>>
[예 27.3] 패스워드 Callback 클래스 : <<PWCallback.java>>
[예 27.4] Java 클래스 작성 : <<Ping.java>>
[예 27.5] Java 클래스 작성 : <<PingImpl.java>>
[예 27.6] Java 클래스 작성 : <<PingPWCallback.java>>
[예 27.7] DD 파일 작성 : <<jeus-webservices-dd.xml>>
[예 27.8] JEUS 웹 서비스 클라이언트 보안 적용 예제 : <<pingClient.jsp>>
[예 27.9] JEUS 웹 서비스 클라이언트 보안 적용 예제 : <<jeus-web-dd.xml>>
[예 27.10] 보안 API를 이용한 JEUS 웹 서비스 클라이언트 : <<pingClient.jsp>>
[예 27.11] 접근 제어 설정 : <<accounts.xml>>
[예 27.12] 접근 제어 설정 : <<jeus-web-dd.xml>>
[예 27.13] 접근 제어 설정 : <<web.xml>>
[예 27.14] EJB 웹 서비스의 접근 제어 설정 : <<accounts.xml>>
[예 27.15] EJB 웹 서비스의 접근 제어 설정 : <<jeus-ejb-dd.xml>>
[예 27.16] EJB 웹 서비스의 접근 제어 설정 : <<ejb-jar.xml>>
[예 27.17] EJB 웹 서비스의 접근 제어 설정 : <<jeus-webservices-dd.xml>>