JEUS Web Service Guide 

JEUS 8 Fix#1

Document Information

Title: JEUS Web Service Guide 

Publication Date: 2019-08-02

Software Version: JEUS 8 Fix#1

Edition: v2.1.2

Website

http://www.tmaxsoft.com

Copyright Notice

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.

Trademarks

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

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

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

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

AIX is a registered trademark of International Business Machines Corporation.

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

Linux is a registered trademark of 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/)

(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, ®).

Open Source Software Notice

Some modules or files of this product are subject to the terms of the following licenses. : APACHE2.0, CDDL1.0, EDL1.0, OPEN SYMPHONY SOFTWARE1.1, TRILEAD-SSH2, Bouncy Castle, BSD, MIT, SIL OPEN FONT1.1

Detailed Information related to the license can be found in the following directory : ${INSTALL_PATH}/lib/licenses


Table of Contents

About This Document
1. Introduction to Web Services
1.1. Basic Concept of a Web Service
1.2. Web Service Standards
1.2.1. WSDL Standard
1.2.2. UDDI Standard
1.2.3. JAX-WS, JAXB, StAX Standards
1.2.4. JAX-RPC Standard
1.2.5. SAAJ Standard
1.3. SOAP Message Exchange and Encoding
2. JEUS Web Services
2.1. Basic Architecture
2.2. Designing Web Services
2.2.1. Selecting a Web Service Backend
2.2.2. RPC-oriented and Document-oriented Information Exchanges
2.2.3. Web Service Implementation Methods
2.2.4. Creating SOAP Message Handlers
I. JEUS 8 Web Services
3. Implementing JEUS Web Services
3.1. Overview
3.2. Implementing Web Services from Java Classes
3.3. Implementing EJB Web Services
3.4. Implementing Web Services from WSDL
4. Creating and Deploying Web Services
4.1. Overview
4.2. Creating and Deploying Java Class Web Services
4.3. Creating and Deploying EJB Web Services
4.4. Creating and Deploying WSDL Web Services
4.5. How to Determine an Endpoint Address
4.5.1. Servlet Endpoint
4.5.2. EJB Endpoint
5. Invoking Web Services
5.1. Overview
5.2. Web Service Invocation Using Dynamic Proxy
5.2.1. Creating Client Artifacts
5.2.2. Java SE Client Invocation
5.2.3. Java EE Client Invocation
5.3. Web Service Invocation Using Dispatch Method
6. Standardized Binding Declaration and Customization
6.1. Overview
6.2. Declaring Standard Binding
6.2.1. Declaring in External Documents (Files)
6.2.2. Declaring in WSDL Documents
6.3. Standard Binding Customization
6.3.1. Global Bindings
6.3.2. Customizing a Package Name
6.3.3. Wrapper Style
6.3.4. Asynchronization
6.3.5. Provider Interface
6.3.6. Customizing Class Name
6.3.7. Customizing Java Methods
6.3.8. Customizing Java Parameters
6.3.9. Customizing XML Schema
6.3.10. Customizing Handler Chains
7. Handler Framework
7.1. Overview
7.2. Handler Chain Execution Order
7.3. Handler Class Organization
7.3.1. Declaring Handler Classes
7.4. Configuring a Handler Class
7.4.1. Creating a Web service from Java Class
7.4.2. Creating a Web Service from WSDL
7.4.3. Creating a Client
7.5. Web Service with a Handler Chain
7.6. Executing Handler Framework in Web Services
8. Provider and Dispatch Interfaces
8.1. Overview
8.2. Provider Interface for Service Endpoint
8.2.1. Provider Interface
8.2.2. Example of a Provider Interface
8.2.3. Executing a Provider Interface
8.3. Client Dispatch Interface
8.3.1. Dispatch Interface
8.3.2. Example of a Dispatch Interface
8.3.3. Executing a Dispatch Interface
8.4. XML/HTTP Binding
8.4.1. RESTful Web Services
8.4.2. Example of a RESTful Web Service
8.4.3. Executing a RESTful Web Service
9. Asynchronous Web Services
9.1. Overview
9.2. Asynchronous Client Operation
9.2.1. Using a Service Endpoint Interface Stub with Asynchronous Methods
9.2.2. Using a Dispatch Interface
9.3. Asynchronous Web Services
9.3.1. Configuring Asynchronous Web Services
10. Transmitting Messages Using MIME Attachment
10.1. Overview
10.2. MTOM/XOP
10.2.1. Basic Operations
10.2.2. Binary Data Attachment Size Configuration
10.2.3. Example of MTOM/XOP
10.2.4. Executing MTOM/XOP Example
10.3. swaRef
10.3.1. Using swaRef
10.3.2. Example of swaRef
10.3.3. Executing swaRef Example
10.4. Streaming Attachments
11. Fast Infoset Web Services
11.1. Overview
11.2. Using Fast Infoset
11.2.1. Content Negotiation
11.3. Example of Fast Infoset
11.4. Executing Fast Infoset Web Services
12. JAX-WS JMS Transport
12.1. Overview
12.2. Configuring JAX-WS JMS Transport
12.2.1. Configuring a JMS Server
12.2.2. Creating a Web Service
12.2.3. Configuring a WSDL
12.2.4. Creating a Web Service Client
13. Web Service Policy
13.1. Overview
13.2. Web Service Policy (WS-Policy)
13.3. Server Policy
13.3.1. Creating a Web Service from WSDL
13.3.2. Creating a Web Service with Java Classes
13.4. Client Policy
14. Web Services Addressing
14.1. Overview
14.2. Server Configurations
14.2.1. Configuring from Java Class
14.2.2. Configuring from WSDL
14.3. Client Configurations
14.4. Example
14.5. Executing the Example
15. Reliable Messaging
15.1. Overview
15.2. Server Configurations
15.2.1. Using WSDL
15.2.2. Using Java Class
15.3. Client Configurations
15.4. Example
15.5. Executing the Example
16. Web Service Transactions
16.1. Overview
16.2. Server Configurations
16.2.1. Using WSDL
16.2.2. Using Java Class
16.3. Client Configurations
16.4. Coordinator Service
16.5. Web Service Transaction Example
17. Web Service Security
17.1. Overview
17.2. Transport-level Security
17.3. Message-level Security
17.3.1. Web Service Security Policy
17.3.2. Web Service Security
17.3.3. Web Services Secure Conversation
17.3.4. Web Service Trust
17.4. Configuring Message-Level Security
17.4.1. Common Configurations
17.4.2. Improving Symmetric Binding through Username Authentication
17.4.3. Mutual Certificates Security
17.4.4. SAML Authentication through SSL
17.4.5. Secure Conversation
17.4.6. Web Service Trust (WS-Trust)
17.4.7. Client Execution
17.5. How to Migrate JAX-RPC (JEUS 5) Web Service Security
17.5.1. Encryption
17.5.2. Signature
17.5.3. Timestamp
17.5.4. Username Token
17.6. How to Invoke Access-Controlled Web Services
17.6.1. Creating Portable Artifacts
17.6.2. Creating Web Service Clients
18. Server-Sent Event
18.1. Overview
18.2. Server-Sent Events (SSE) Support in the JAX-RS Resource
18.3. SSE Event Processing in the JAX-RS Client
18.3.1. SSE Event Reading by using EventInput
18.3.2. Asynchronous SSE Processing by using EventSource
19. UDDI
19.1. Overview
19.1.1. Using UDDI
19.2. Operating UDDI Server in JEUS
19.2.1. Creating UDDI DataStore
19.2.2. Deploying UDDI Server
19.2.3. Configuring UDDI Server
19.2.4. Adding a New User
19.2.5. Starting UDDI Server
19.3. Using UDDI Explorer in JEUS Server
19.3.1. Querying UDDI Registry
19.3.2. Publishing UDDI Registry
19.3.3. Configuring JEUS UDDI Explorer
19.4. Creating UDDI Client
19.4.1. Creating UDDI Client
19.4.2. Compiling UDDI Client
19.4.3. Executing UDDI Client
19.5. How to Use XML Digital Signature
19.5.1. Digital Signature
19.5.2. How to Create XML Signature in UDDI Client
19.5.3. Verifying XML signature in UDDI Client
19.6. How to Use UDDI Subscription
19.6.1. Basic Concept
19.6.2. How to Create UDDI Subscription
19.6.3. UDDI Subscription Example
19.6.4. UDDI Subscription Client Programming
19.6.5. Configurations for Receiving E-Mail Notifications
19.7. How to Use UDDI WSDL Publishing
19.7.1. UDDI WSDL Publishing
19.7.2. Using wsdl2uddi
20. XML of JEUS Web Services
20.1. Overview
20.2. Java Architecture for XML Binding (JAXB)
20.2.1. Binding Compiler (XJC) Related Programming Techniques
20.2.2. Schemagen Programming Techniques
20.3. Java Standard API for XML Processing (JAXP)
20.3.1. Java Streaming APIs for XML Parser (StAX)
II. JAX-RPC Web Services
21. Implementing JAX-RPC Web Services
21.1. Overview
21.2. Implementing a Web Service from a Java Class
21.2.1. Example
21.2.2. Implementation Principles of Java Web Services
21.3. Implementing a Web Service from an EJB
21.3.1. Example
21.3.2. Implementation Principles of EJB Web Services
21.4. Implementing Web Services from WSDL
21.5. Using SAAJ
22. Creating and Deploying JAX-RPC Web Services
22.1. Creating and Deploying Java Web Services
22.1.1. Configuring Service Configuration File
22.1.2. Creating WSDL and JAX-RPC Mapping Files
22.1.3. Configuring Web Service DD File
22.1.4. Packaging and Deploying
22.2. Creating and Deploying EJB Web Services
22.2.1. Configuring Web Service Configuration File
22.2.2. Creating WSDL File and JAX-RPC Mapping File
22.2.3. Configuring Web Services DD File
22.2.4. Packaging and Deploying
23. Invoking JAX-RPC Web Services
23.1. Invoking JEUS JAX-RPC Web Services (Java SE client)
23.1.1. Client Stub
23.1.2. DII Client
23.2. Invoking JAX-RPC Web Services (Java EE Client)
23.2.1. Java EE Client Programming Model
23.2.2. Java EE Client Programming Procedures
23.2.3. Creating a Java EE Client
24. Creating SOAP Message Handler of JAX-RPC Web Service
24.1. Using SAAJ
24.1.1. Creating a SOAP Message
24.1.2. Handling an SAAJ Document
24.1.3. Sending a SOAP Message through SAAJ
24.2. Creating SOAP Message Handlers
24.2.1. Creating a Message Handler
24.2.2. Designing a Message Handler and a Handler Chain
24.2.3. Creating a Handler Interface
24.2.4. Configuring Java EE Web Services DD File
24.2.5. Using a SOAP Message Handler from the Client
24.2.6. Example of File Exchanges Between Web Services and Clients
25. Creating JAX-RPC Web Service Configuration File
25.1. Creating JAX-RPC Web Service DD File
25.2. Creating a Web Service Mapping File
25.2.1. JAX-RPC Mapping File Contents
25.2.2. Configuring JAX-RPC Mapping File
26. JAX-RPC Web Service Data Type
26.1. Overview
26.2. Java and XML Type Mapping
26.2.1. Built-in Type Mapping
26.2.2. Arrays
26.2.3. User Defined Types: JAX-RPC Value Type
26.3. Using JAX-RPC Value Type
26.3.1. Creating a Web Service that Uses JAX-RPC Value Type
26.3.2. Creating a Web Service Client that Uses JAX-RPC Value Type
26.4. Using Holder Classes
26.4.1. Built-in Holder Classes
26.4.2. Creating a Holder Class for User Defined Types
26.5. Exceptions and SOAP Faults
26.6. Mapping MIME Type to Data Handler Type
26.6.1. Using dataHandlerOnly Option in wsdl2java
26.7. Disabling Data Binding in Doc/Literal
26.7.1. Using noDataBinding Option in wsdl2java
27. JAX-RPC Web Service Security
27.1. Overview
27.2. Transport-Level Security
27.3. Message-Level Security
27.3.1. Applying Web Service Security
27.3.2. Web Service Security Architecture
27.3.3. Configuring JEUS Web Service Security
27.3.4. Creating a Password Callback Class
27.3.5. Example of Server-side JEUS Web Service Security
27.3.6. Example of Client-side JEUS Web Service Security
27.3.7. Creating JEUS Web Service Client Using Web Service Security API
27.4. Configuring Access Control
27.4.1. Configuring Access Control Security for Java Web Services
27.4.2. Configuring Access Control for EJB Web Services
27.4.3. Invoking Web Services Configured with Basic Authentication
Glossary
Index

List of Figures

[Figure 2.1] The structure of JEUS web services
[Figure 7.1] Relationship between message contexts
[Figure 7.2] Handler Framework
[Figure 11.1] Serializing/Parsing Fast Infoset
[Figure 17.1] WS-Trust
[Figure 19.1] UDDI Data Structure & XML Tag Names
[Figure 19.2] JEUS UDDI Registry Screenshot
[Figure 19.3] UDDI Search Entry Screenshot
[Figure 19.4] UDDI Registry Search Result Screenshot
[Figure 19.5] Registered Entry
[Figure 19.6] Provider Update Screen
[Figure 19.7] Add Service Screen
[Figure 19.8] Result of Saving a TModel
[Figure 19.9] Adding a BindingTemplate
[Figure 19.10] Result of Saving a BindingTemplate
[Figure 19.11] JEUS UDDI Explorer - User Management
[Figure 19.12] JEUS UDDI Explorer - User Registration
[Figure 19.13] UDDI Subscription Flow Map
[Figure 19.14] WSDL Description & UDDI Data Structure Mapping
[Figure 19.15] WSDL published to UDDI
[Figure 24.1] Structure of SOAP with Attachment
[Figure 27.1] JEUS Web Service Security Architecture

List of Tables

[Table 10.1] JAXB 2.0 specification of xmime:expectedContentType to Java type mapping
[Table 19.1] uddi.properties
[Table 19.2] Columns in PUBLISHER table
[Table 21.1] Required Mappings: Java to MIME
[Table 26.1] Built-in XML/Java Type Mapping
[Table 26.2] Built-in Holder Class

List of Examples

[Example 3.1] Java Class Web Service : << Addnumbersimpl.java >>
[Example 3.2] Java Class Web Service : << build.xml >>
[Example 3.3] Java Class Web Service : << AddNumbersImplService.wsdl >>
[Example 3.4] Java Class Web Service : << AddNumbers.java >>
[Example 3.5] Java Class Web Service : << AddNumbersResponse.java >>
[Example 3.6] Implementing an EJB Web Service : << Addnumbersimpl.java >>
[Example 3.7] Implementing an EJB Web Service : << build.xml >>
[Example 3.8] Implementing an EJB Web Service : << AddNumbersImplService.wsdl >>
[Example 3.9] Implementing an EJB Web Service : << AddNumbers.java >>
[Example 3.10] Implementing an EJB Web Service : << AddNumbersResponse.java >>
[Example 3.11] Implementing an EJB Web Service : << AddNumbers.wsdl >>
[Example 3.12] Implementing an EJB Web Service : << build.xml >>
[Example 3.13] Implementing an EJB Web Service : << AddNumbersPortType.java >>
[Example 3.14] Implementing an EJB Web Service : << AddNumbers.java >>
[Example 3.15] Implementing an EJB Web Service : << AddNumbersResponse.java >>
[Example 3.16] Implementing an EJB Web Service : << AddNumbersImpl.java >>
[Example 4.1] Using the <url-pattern> Element in web.xml : << web.xml >>
[Example 4.2] Endpoint Class : << AddNumbersImpl.java >>
[Example 4.3] Using the @EndpointDescription Annotation : << AddNumbersImpl.java >>
[Example 4.4] Using the serviceName Attribute of the @WebService Annotation : << AddNumbersImpl.java >>
[Example 4.5] Endpoint Class :<< AddNumbersImpl.java >>
[Example 4.6] Using the @EndpointDescription Annotation (1) : << AddNumbersImpl.java >>
[Example 4.7] Using the @EndpointDescription Annotation (2) : << AddNumbersImpl.java >>
[Example 4.8] Using the serviceName Attribute of the @WebService Annotation (1) : << AddNumbersImpl.java >>
[Example 4.9] Using the serviceName Attribute of the @WebService Annotation (2) : << AddNumbersImpl.java >>
[Example 4.10] Endpoint Class as Default Value of the Context : << AddNumbersImpl.java >>
[Example 5.1] Creating a Client Artifact : << build.xml >>
[Example 5.2] Service Interface Class : << AddNumbersImplService.java >>
[Example 5.3] Service Endpoint Interface : << AddNumbersImpl.java >>
[Example 5.4] Java Bean Class : << AddNumbers.java >>
[Example 5.5] Java Bean Class : << AddNumbersResponse.java >>
[Example 5.6] Java SE Client Program : << AddNumbersClient.java >>
[Example 5.7] Java EE Client : << AddNumbersClient.java >>
[Example 6.1] Declaring in an External Document : << custom-client.xml >>
[Example 6.2] Declaring Component Binding in a WSDL Document : << custom-client.xml >>
[Example 6.3] Declaring in a WSDL Document : << AddNumbers.wsdl >>
[Example 6.4] Global Binding : << custom-client.xml >>
[Example 6.5] Customizing a Package Name (1) : << custom-client.xml >>
[Example 6.6] Customizing a Package Name (2) : << custom-client.xml >>
[Example 6.7] Wrapper Style : << custom-client.xml >>
[Example 6.8] Asynchronization : << custom-client.xml >>
[Example 6.9] Service Endpoint Interface Class : << custom-client.xml >>
[Example 6.10] Exception Class : << custom-client.xml >>
[Example 6.11] Service Class : << custom-client.xml >>
[Example 6.12] Service Endpoint Interface Method : << custom-client.xml >>
[Example 6.13] Service Class Method to Access the Port : << custom-client.xml >>
[Example 6.14] Customizing a Java Parameter : << custom-client.xml >>
[Example 6.15] Customizing an XML Schema (1) : << custom-client.xml >>
[Example 6.16] Customizing an XML Schema (2) : << custom-client.xml >>
[Example 6.17] Customizing a Handler Chain : << custom-client.xml >>
[Example 7.1] Handler Class : << MyLogicalHandler.java >>
[Example 7.2] Handler Class :<< MySOAPHandler.java >>
[Example 7.3] Handler Class :<< MyLogicalHandler.java >>
[Example 7.4] Creating a Web service from Java Class : << MyServiceImpl.java >>
[Example 7.5] Creating a Web service from Java Class : << handlers.xml >>
[Example 7.6] Web Service with a Handler Chain : << LoggingHandler.java >>
[Example 7.7] Web Service Class with a Handler Chain : << handlers.xml >>
[Example 7.8] Web Service Class with a Handler Chain : << AddNumbersImpl.java >>
[Example 7.9] Web Service Client-side Class with a Handler Chain : << AddNumbersClient.java >>
[Example 7.10] Binding Declaration in a Web Service with a Handler Chain : << custom-client.xml >>
[Example 8.1] Provider Interface : << AddnumbersImpl.java >>
[Example 8.2] Dispatch Interface : << AddNumbersClient.java >>
[Example 8.3] RESTful Web Service : << AddNumbersImpl.java >>
[Example 8.4] RESTful Web Service Client : << AddNumbersClient.java >>
[Example 9.1] Asynchronous Binding : << custom-schema.xml >>
[Example 9.2] Asynchronous Binding : << build.xml >>
[Example 9.3] Creating a Client with the Polling Method : << AddNumbersClient.java >>
[Example 9.4] Creating a Client Handler Object with the Callback Method : << AddNumbersClient.java >>
[Example 9.5] Creating a Client with the Callback Method : << AddNumbersClient.java >>
[Example 9.6] Configuring an Asynchronous Web Service : << AddNumbersImpl.java >>
[Example 9.7] Configuring an Asynchronous Web Service : << web.xml >>
[Example 10.1] WSDL File Enabling MTOM/XOP : << hello.wsdl >>
[Example 10.2] WSDL File Enabling swaRef : << hello.wsdl >>
[Example 10.3] Streaming Attachments : << AttachmentApp.java >>
[Example 11.1] Fast Infoset Example : << AddNumbersClient.java >>
[Example 12.1] Configuring a JMS Server : << domain.xml >>
[Example 12.2] Web Service Endpoint : << AddNumbersImpl.java >>
[Example 12.3] Configuring a WSDL : << AddNumbers.wsdl >>
[Example 12.4] Web Service Client : << AddNumbersClient.java >>
[Example 13.1] Creating a Web Service with Java Classes : << service-config.xml >>
[Example 14.1] Configuring Server-Side Web Service Addressing (1) : << AddnumbersImpl.java >>
[Example 14.2] Configuring Server-Side Web Service Addressing (2) : << AddnumbersImpl.java >>
[Example 14.3] Configuring Server-Side Web Service Addressing (3) : << Addnumbers.wsdl >>
[Example 14.4] Web Service Addressing : << AddNumbersImpl.java >>
[Example 15.1] Configuring Server-Side WS-Reliable Messaging : << AddNumbers.wsdl >>
[Example 15.2] Configuring WS-Reliable Messaging in a Java Class : << service-config.xml >>
[Example 15.3] Configuring WS-Reliable Messaging : << service-config.xml >>
[Example 16.1] Configuring a Web Service Transaction in WSDL : << AddNumbers.wsdl >>
[Example 16.2] Configuring a Web Service Transaction in a Java Class : << AddnumbersImpl.java >>
[Example 16.3] Web Service Transaction : << AddNumbersClient.jsp >>
[Example 17.1] Configuring Server Message-Level Security (1) : << jeus-webservices-config.xsd >>
[Example 17.2] Configuring Server Message-Level Security (2) : << jeus-webservices-config.xsd >>
[Example 17.3] Configuring Server Message Level-Security with a Java Class (1) : << jeus-webservices-config.xsd >>
[Example 17.4] Configuring Server Message-Level Security with a Java Class (2) : << jeus-webservices-config.xsd >>
[Example 17.5] Configuring Server Message-Level Security with a Java Class (3) : << jeus-webservices-config.xsd >>
[Example 17.6] Configuring Server Message-Level Security with a Java Class (4) : << jeus-webservices-config.xsd >>
[Example 17.7] Configuring Server Message-Level Security with a Java Class (5) : << jeus-webservices-config.xsd >>
[Example 17.8] Configuring Server Message-Level Security with a Java Class (6) : << jeus-webservices-config.xsd >>
[Example 17.9] Configuring Server Message-Level Security with a Java Class (7) : << jeus-webservices-config.xsd >>
[Example 17.10] Configuring Server Message Level Security with a Java Class (8) : << jeus-webservices-config.xsd >>
[Example 17.11] Configuring Server Message-Level Security with a Java Class (9) : << jeus-webservices-config.xsd >>
[Example 17.12] Configuring Server Message-Level Security with a Java Class (10) : << jeus-webservices-config.xsd >>
[Example 17.13] Configuring WSDL Message-Level Security : << jeus-webservices-config.xsd >>
[Example 17.14] Configuring Client Message-Level Security : << jeus-webservices-config.xsd >>
[Example 17.15] Web Service Configuration File : <<service-config.xml>>
[Example 17.16] Username Validator Class : << UsernamePasswordValidator.java >>
[Example 17.17] Configuring Keystore (Truststore) and Username Handler : <<wsit-client.xml>>
[Example 17.18] Username Handler Class : << UsernamePasswordCallbackHandler.java >>
[Example 17.19] Configuring Server-Side Mutual Certificates Security : << service-config.xml >>
[Example 17.20] Configuring Client-Side Mutual Certificates Security : << wsit-client.xml >>
[Example 17.21] SAML Authentication through SSL : << service-config.xml >>
[Example 17.22] Configuring a Callback Handler Class : << wsit-client.xml >>
[Example 17.23] Creating a Callback Handler Class : << SamlCallbackHandler.java >>
[Example 17.24] Configuring Server-Side Secure Conversation : <<service-config.xml>>
[Example 17.25] Configuring Client-Side Secure Conversation : <<wsit-client.xml>>
[Example 17.26] Configuring Server Web Service Trust : <<service-config.xml>>
[Example 17.27] Configuring WS-Security Policy : <<sts.wsdl>>
[Example 17.28] Configuring Client Web Service Trust : <<wsit-client.xml>>
[Example 17.29] Configuring JAX-RPC Web Service Encryption : << jeus-webservices-dd.xml >>
[Example 17.30] Configuring JAX-WS (JEUS 8) Web Service Encryption : << service-config.xml >>
[Example 17.31] Configuring JAX-RPC Web Service Signature : << jeus-webservices-dd.xml >>
[Example 17.32] Configuring JAX-WS Web Service Signature : << service-config.xml >>
[Example 17.33] Configuring JAX-RPC (JEUS 5) Web Service Timestamp : << jeus-webservices-dd.xml >>
[Example 17.34] Configuring JAX-WS (JEUS 8) Web Service Timestamp : << service-config.xml >>
[Example 17.35] Configuring JAX-RPC (JEUS 5) Web Service Username Token : << jeus-webservices-dd.xml >>
[Example 17.36] Configuring JAX-WS (JEUS 8) Web Service Username Token : << service-config.xml >>
[Example 17.37] Configuring Authorization : << authorization.txt >>
[Example 17.38] Web Service Client : << AddNumberClient.java >>
[Example 18.1] Simple SSE Resource Method
[Example 18.2] SSE Event Reading with EventInput
[Example 18.3] Reading an SSE Event with EventSource
[Example 19.1] Deploying UDDI Server : <<jeus-web-dd.xml>>
[Example 19.2] Deploying UDDI Server : <<web.xml>>
[Example 20.1] Programming with XJC Ant Task : << build.xml >>
[Example 20.2] Programming with XJC Ant Task (1) : << Main.java >>
[Example 20.3] Programming with XJC Ant Task (2) : << Main.java>>
[Example 20.4] Programming with XJC Ant Task (3) : << Main.java>>
[Example 20.5] Programming with Schemagen Ant Task : << build.xml >>
[Example 20.6] Programming with Schemagen Ant Task (1) : << Main.java >>
[Example 20.7] Programming with Schemagen Ant Task (2) : << Main.java >>
[Example 21.1] Implementing a Web Service from an EJB : << HelloIF.java >>
[Example 21.2] Implementing a Web Service from an EJB : << Hello.java >>
[Example 21.3] Implementing a Web Service from an EJB : << HelloHome.java >>
[Example 21.4] Implementing a Web Service from an EJB : << HelloEJB >>
[Example 21.5] Implementing a Web Service from WSDL : << build.xml >>
[Example 22.1] Java EE Web Service DD File : << webservices.xml >>
[Example 22.2] JEUS Web Service DD File : << jeus-webservices-dd.xml >>
[Example 22.3] Servlet DD File : << web.xml >>
[Example 22.4] JEUS Web Module DD File : << jeus-web-dd.xml >>
[Example 22.5] EAR Application : << application.xml >>
[Example 22.6] EJB Web Service Configuration File : << service-config.xml >>
[Example 22.7] Java EE Web Service DD File : << webservices.xml >>
[Example 22.8] JEUS Web Services DD File : << jeus-webservices-dd.xml >>
[Example 22.9] EJB DD File : << ejb-jar.xml >>
[Example 22.10] EJB DD File : << jeus-ejb-dd.xml >>
[Example 22.11] EAR Application : << application.xml >>
[Example 23.1] Generating a Web Service Stub from WSDL : << build.xml >>
[Example 23.2] Web Service Client Sample : <<ProxyClient.java>>
[Example 23.3] DII Client Sample : << DIIClient.java >>
[Example 23.4] Service Interface Type and JNDI Configuration : << web.xml >>
[Example 23.5] Invoking a Service with WSDL : << build.xml >>
[Example 23.6] Java EE Client Sample : << helloClient.jsp >>
[Example 23.7] Standard DD File : << web.xml >>
[Example 23.8] JEUS Web DD File : << jeus-web-dd.xml >>
[Example 23.9] JSP Java EE Client to Invoke a Web Service : << helloClient.jsp >>
[Example 23.10] Standard DD File : << web.xml >>
[Example 24.1] Message Handler Settings in <port-component>
[Example 24.2] Implementing a Message Handler for Receiving Files : << ServerAttachmentHandler.java >>
[Example 24.3] Implementing a Web Service Back-end : << FileTransfer.java >>
[Example 24.4] Implementing a Web Service Back-end : << FileTransferIF.java >>
[Example 24.5] Web Service DD File : << webservices.xml >>
[Example 24.6] Web Service DD File : << web.xml >>
[Example 24.7] Web Service DD File : << jeus-webservices-dd.xml >>
[Example 24.8] Web Service Client Handler : << ClientAttachmentHandler.java >>
[Example 24.9] Web Service Client : << Client.java >>
[Example 25.1] JAX-RPC Web Service : << webservices.xml >>
[Example 25.2] DocLitEchoService : <<webservices.xml >>
[Example 25.3] DocLitEchoService : << web.xml >>
[Example 25.4] AddressBookService : <<webservices.xml >>
[Example 25.5] AddressBookService : << web.xml >>
[Example 25.6] FileAttachmentService : <<webservices.xml >>
[Example 25.7] JAX-RPC Mapping File Structure
[Example 25.8] Java Service Interface Configuration : << AddressBookService.java >>
[Example 26.1] Web Service with JAX-RPC Value Type : <<Calculator.java>>
[Example 26.2] Web Service with JAX-RPC Value Type : <<CalcData.java>>
[Example 26.3] Web Service with JAX-RPC Value Type : <<CalculatorIF.java>>
[Example 26.4] Web Service Client with JAX-RPC Value Type : <<CalcClient.java>>
[Example 26.5] Built-in Holder Class Sample : << Calculator.java >>
[Example 26.6] run( ) method of CalcClient.java
[Example 26.7] User-Defined Type Holder Class Configuration Sample : << CalcData.java >>
[Example 26.8] User-Defined Type Holder Class Configuration Sample : << CalcDataHolder.java >>
[Example 26.9] Exception Sample : << Calculator.java >>
[Example 27.1] Configuring JEUS Web Service Security : <<jeus-webservices-dd.xml>>
[Example 27.2] Configuring Client-Side Security : <<jeus-web-dd.xml>>
[Example 27.3] Password Callback Class : << PWCallback.java >>
[Example 27.4] Creating a Java Class : << Ping.java >>
[Example 27.5] Creating a Java Class : << PingImpl.java >>
[Example 27.6] Creating a Java Class : << PingPWCallback.java >>
[Example 27.7] Configuring a DD File : << jeus-webservices-dd.xml >>
[Example 27.8] JEUS Web Service Client Security Configuration Sample : << pingClient.jsp >>
[Example 27.9] JEUS Web Service Client Security Configuration Sample : << jeus-web-dd.xml >>
[Example 27.10] JEUS Web Service Client with Security API : << pingClient.jsp >>
[Example 27.11] Configuring Access Control : << accounts.xml >>
[Example 27.12] Configuring Access Control : << jeus-web-dd.xml >>
[Example 27.13] Configuring Access Control : << web.xml >>
[Example 27.14] Access Control for EJB Web Services : << accounts.xml >>
[Example 27.15] Access Control for EJB Web Services : << jeus-ejb-dd.xml >>
[Example 27.16] Access Control for EJB Web Services : << ejb-jar.xml >>
[Example 27.17] Access Control for EJB Web Services : << jeus-webservices-dd.xml >>