J2EE¿ Web Services

by
Edition: 1st
Format: Paperback
Pub. Date: 2003-10-20
Publisher(s): Addison-Wesley Professional
List Price: $73.49

Rent Book

Select for Price
There was a problem. Please try again later.

New Book

We're Sorry
Sold Out

Used Book

We're Sorry
Sold Out

eBook

We're Sorry
Not Available

How Marketplace Works:

  • This item is offered by an independent seller and not shipped from our warehouse
  • Item details like edition and cover design may differ from our description; see seller's comments before ordering.
  • Sellers much confirm and ship within two business days; otherwise, the order will be cancelled and refunded.
  • Marketplace purchases cannot be returned to eCampus.com. Contact the seller directly for inquiries; if no response within two days, contact customer service.
  • Additional shipping costs apply to Marketplace purchases. Review shipping costs at checkout.

Summary

& bull; Covers J2EE, XML, XSD and JAXP (the Java XML API) Web Services, SOAP, UDDI, WSDL, Web Services Security and Interoperability & lt;br/ & gt; & bull; Brings Java developers up to speed on developing Web Services applications using J2EE technologies and APIs & lt;br/ & gt; & bull; Written by Richard Monson-Heafel & -- author with loyal following! & lt;br/ & gt; & bull; This is the first book in a series of a books by Richard Monson-Heafel

Author Biography

Richard Monson-Haefel currently serves on the J2EE 1.4 and EJB 2.1 expert groups for the Java Community Process. He is a founder of the Apache J2EE Application Server Project (Geronimo) and a lead developer of its J2EE Web Services implementation

Table of Contents

Preface xxxiii
Are Web Services Important?
xxxiii
What Do I Need to Know to Read This Book?
xxxiv
What Does This Book Cover?
xxxiv
How Is This Book Organized?
xxxv
What Doesn't This Book Cover?
xxxvii
Non-Web Service Aspects of the J2EE Platform
xxxvii
Vendor-Specific Configuration and Administration
xxxvii
Other Web Service "Standards"
xxxviii
Acknowledgments xxxix
Chapter 1 An Overview of J2EE 1.4 Web Services 1(14)
1.1 The J2EE Platform
2(1)
1.2 The Technologies of Web Services
3(7)
1.2.1 WS-I Basic Profile 1.0
5(1)
1.2.2 XML
6(1)
1.2.3 SOAP
7(2)
1.2.4 WSDL
9(1)
1.2.5 UDDI
9(1)
1.3 The J2EE Web Service APIs
10(2)
1.3.1 JAX-RPC
10(1)
1.3.2 SAAJ
11(1)
1.3.3 JAXR
11(1)
1.3.4 JAXP
12(1)
1.4 Wrapping Up
12(3)
Part I XML 15(64)
Chapter 2 XML Basics
17(16)
2.1 XML Primer
17(9)
2.1.1 XML Document Instance
20(1)
2.1.2 Anatomy of an XML Document
21(4)
2.1.2.1 XML Declaration
21(1)
2.1.2.2 Elements
21(1)
2.1.2.3 Attributes
22(1)
2.1.2.4 Comments
23(1)
2.1.2.5 CDATA Section
24(1)
2.1.3 Processing XML Documents
25(1)
2.2 XML Namespaces
26(6)
2.2.1 An Example of Using Namespaces
26(3)
2.2.2 Default Namespaces, Prefixes, and Qualified Names
29(3)
2.3 Wrapping Up
32(1)
Chapter 3 The W3C XML Schema Language
33(46)
3.1 XML Schema Basics
33(24)
3.1.1 Why XML Schema Is Preferred to DTDs in Web Services
33(2)
3.1.2 The XML Schema Document
35(1)
3.1.3 Simple Types
36(3)
3.1.4 Complex Types
39(10)
3.1.4.1 Sequences of Elements
41(2)
3.1.4.2 Attributes
43(2)
3.1.4.3 Occurrence Constraints
45(3)
3.1.4.4 The all Element
48(1)
3.1.5 Declaring Global Elements in a Schema
49(3)
3.1.6 Qualified and Unqualified Elements
52(3)
3.1.7 Assigning and Locating Schemas
55(2)
3.2 Advanced XML Schema
57(20)
3.2.1 Inheritance of Complex Types
58(6)
3.2.1.1 Extension
58(2)
3.2.1.2 Restriction
60(1)
3.2.1.3 Polymorphism and Abstract Base Types
61(2)
3.2.1.4 Abstract and Final Complex Types
63(1)
3.2.2 Inheritance of Simple Types
64(4)
3.2.2.1 The pattern Facet
66(2)
3.2.2.2 The enumeration Facet
68(1)
3.2.3 List and Union Types
68(2)
3.2.3.1 List Types
69(1)
3.2.3.2 Union Types
69(1)
3.2.4 Anonymous Types
70(2)
3.2.5 Importing and Including Schemas
72(23)
3.2.5.1 Importing
72(3)
3.2.5.2 Including
75(2)
3.3 Wrapping Up
77(2)
Part II: SOAP and WSDL 79(84)
Chapter 4 SOAP
81(46)
4.1 The Basic Structure of SOAP
84(4)
4.2 SOAP Namespaces
88(7)
4.3 SOAP Headers
95(11)
4.3.1 The actor Attribute
98(4)
4.3.2 The mustUnderstand Attribute
102(3)
4.3.3 The WS-I Conformance Header Block
105(1)
4.3.4 Final Words about Headers
106(1)
4.4 The SOAP Body
106(1)
4.5 SOAP Messaging Modes
107(4)
4.5.1 Document/Literal
107(1)
4.5.2 RPC/Literal
108(2)
4.5.3 Messaging Modes versus Messaging Exchange Patterns
110(1)
4.5.4 Other Messaging Modes
111(1)
4.6 SOAP Faults
111(9)
4.6.1 The faultcode Element
113(4)
4.6.1.1 The Client Fault
114(1)
4.6.1.2 The Server Fault
114(1)
4.6.1.3 The Version Mismatch Fault
115(1)
4.6.1.4 The Must Understand Fault
116(1)
4.6.1.5 Non-standard SOAP Fault Codes
116(1)
4.6.2 The faultstring Element
117(1)
4.6.3 The faultactor Element
118(1)
4.6.4 The detail Element
118(2)
4.6.4.1 Processing Header Faults: Omitting the detail Element
119(1)
4.6.5 Final Words about Faults
120(1)
4.7 SOAP over HTTP
120(4)
4.7.1 Transmitting SOAP with HTTP POST Messages
121(2)
4.7.2 HTTP Response Codes
123(1)
4.7.2.1 Success Codes
123(1)
4.7.2.2 Error Codes
123(1)
4.7.3 Final Words about HTTP
124(1)
4.8 Wrapping Up
124(3)
Chapter 5 WSDL
127(36)
5.1 The Basic Structure of WSDL
129(3)
5.2 WSDL Declarations: The definitions, types, and import Elements
132(5)
5.2.1 The XML Declaration
132(1)
5.2.2 The definitions Element
133(1)
5.2.3 The types Element
134(2)
5.2.4 The import Element
136(1)
5.3 The WSDL Abstract Interface: The message, portType, and operation Elements
137(8)
5.3.1 The message Element
137(5)
5.3.1.1 The message Element for RPC-Style Web Services
138(1)
5.3.1.2 The message Element for Document-Style Web Services
139(1)
5.3.1.3 Declaring Fault Messages
140(2)
5.3.2 The portrype Element
142(1)
5.3.3 The operation Element
143(2)
5.3.3.1 Parameter Order within an Operation
144(1)
5.3.3.2 Operation Overloading
145(1)
5.4 WSDL Messaging Exchange Patterns
145(3)
5.4.1 Request/Response Messaging
145(2)
5.4.2 One-Way Messaging
147(1)
5.4.3 Notification and Solicit/Response Messaging
147(1)
5.5 WSDL Implementation: The binding Element
148(12)
5.5.1 SOAP Binding
151(9)
5.5.1.1 The soapbind: binding Element
151(1)
5.5.1.2 The soapbind: operation Element
152(3)
5.5.1.3 The soapbind: body Element
155(1)
5.5.1.4 The soapbind: fault Element
156(1)
5.5.1.5 The soapbind: header Element
157(2)
5.5.1.6 The soapbind: headerfault Element
159(1)
5.6 WSDL Implementation: The service and port Elements
160(1)
5.6.1 The soapbind: address Element
161(1)
5.7 WS-I Conformance Claims
161(1)
5.8 Wrapping Up
162(1)
Part III UDDI 163(108)
Chapter 6 The UDDI Data Structures
165(36)
6.1 The businessEntity Structure
168(12)
6.1.1 The businessEntity Element and the businessKey Attribute
171(1)
6.1.2 The discoveryURL Element
171(1)
6.1.3 The name Element
172(1)
6.1.4 The description Element
172(1)
6.1.5 The contacts Element
173(1)
6.1.6 The businessServices Element
174(1)
6.1.7 The identifierBag Element
174(2)
6.1.7.1 The D-U-N-S Identification System
176(1)
6.1.7.2 The Thomas Register Identification System
176(1)
6.1.8 The categoryBag Element
176(4)
6.1.8.1 The NAICS Category System
176(1)
6.1.8.2 The UNSPSC Category System
177(1)
6.1.8.3 The ISO 3166 Geographic Locator System
178(1)
6.1.8.4 Other Categorizations
178(2)
6.2 The business Service and binding Template Structures
180(5)
6.2.1 The businessService Structure
181(1)
6.2.1.1 The categoryBag Element
182(1)
6.2.1.2 The bindingTemplates Element
182(1)
6.2.2 The bindingTemplate Structure
182(3)
6.2.2.1 The accessPoint Element
183(1)
6.2.2.2 The hostingRedirector Element
184(1)
6.2.2.3 The tModelInstanceDetails and tModelInstanceInfo Elements
184(1)
6.3 The tModel Structure
185(13)
6.3.1 tModels for WSDL Documents
187(2)
6.3.2 tModels as Taxonomy Identifiers
189(1)
6.3.3 The uddi-org :type tModel
190(3)
6.3.4 Checked and Unchecked tModels
193(1)
6.3.5 The tModel XML Schema
194(10)
6.3.5.1 The name and description Elements
194(1)
6.3.5.2 The overviewDoc Element
195(2)
6.3.5.3 The identifierBag and categoryBag Elements
197(1)
6.4 The publisherAssertion Structure
198(1)
6.5 UUID Keys
199(1)
6.6 WS-I Conformance Claims
200(1)
6.7 Wrapping Up
200(1)
Chapter 7 The UDDI Inquiry API
201(32)
7.1 General Information about UDDI SOAP Messaging
201(3)
7.2 The Inquiry Operations
204(28)
7.2.1 Find Operations
204(20)
7.2.1.1 Using Search Elements
205(9)
7.2.1.2 Operation Definitions and Payloads
214(10)
7.2.2 Get Operations
224(10)
7.2.2.1 The get_businessDetail Operation
225(2)
7.2.2.2 The get_businessDetailExt Operation
227(1)
7.2.2.3 The get_serviceDetail Operation
228(1)
7.2.2.4 The get_bindingDetail Operation
229(2)
7.2.2.5 The get_tModelDetail Operation
231(1)
7.3 Wrapping Up
232(1)
Chapter 8 The UDDI Publishing API
233(38)
8.1 Operation Definitions and Payloads
234(30)
8.1.1 Authorization Operations
235(3)
8.1.1.1 The get_authToken Operation
235(2)
8.1.1.2 The discard_authToken Operation
237(1)
8.1.2 Save Operations
238(9)
8.1.2.1 The save_business Operation
239(2)
8.1.2.2 The save_service Operation
241(1)
8.1.2.3 The save_binding Operation
242(1)
8.1.2.4 The save_tModel Operation
243(2)
8.1.2.5 The add_publisherAssertions Operation
245(1)
8.1.2.6 The set_publisherAssertions Operation
246(1)
8.1.3 Delete Operations
247(7)
8.1.3.1 The delete_business Operation
249(1)
8.1.3.2 The delete_service Operation
250(1)
8.1.3.3 The delete_binding Operation
251(1)
8.1.3.4 The delete_tModel Operation
252(1)
8.1.3.5 The delete_publisherAssertions Operation
253(1)
8.1.4 Get Operations
254(20)
8.1.4.1 The get_assertionStatusReport Operation
255(4)
8.1.4.2 The get_publisherAssertions Operation
259(2)
8.1.4.3 The get_registeredInfo Operation
261(3)
8.2 Fault Messages
264(4)
8.3 Wrapping Up
268(3)
Part IV JAX-RPC 271(204)
Chapter 9 JAX-RPC Overview
273(10)
9.1 The Server-Side Programming Models
274(3)
9.1.1 JAX-RPC Service Endpoint
274(1)
9.1.2 Enterprise JavaBeans Endpoints
275(2)
9.2 The Client-Side Programming Models
277(4)
9.2.1 Generated Stubs
277(3)
9.2.2 Dynamic Proxies
280(1)
9.2.3 DII
280(1)
9.3 Other JAX-RPC Topics Covered
281(1)
9.4 SAAJ
282(1)
9.5 Wrapping Up
282(1)
Chapter 10 JAX-RPC Service Endpoints
283(22)
10.1 A Simple JSE Example
283(1)
10.2 The JSE Runtime Environment
284(18)
10.2.1 Servlets; The Foundation of JSE
286(1)
10.2.2 JNDI Environment Naming Context
287(6)
10.2.3 The ServletEndpointContext and ServiceLifecycle Interfaces
293(12)
10.2.3.1 Using the Life-Cycle Methods init () and destroy()
293(3)
10.2.3.2 Using the ServletEndpointContext Interface
296(6)
10.3 Multi-threading and JSEs
302(1)
10.4 Wrapping Up
303(2)
Chapter 11 JAX-RPC EJB Endpoints
305(22)
11.1 An Enterprise JavaBeans Primer
305(10)
11.1.1 Transactions in a Nutshell
305(3)
11.1.2 Understanding EJB
308(6)
11.1.2.1 What Is EJB?
309(1)
11.1.2.2 Why Use EJB?
309(1)
11.1.2.3 RPC Components: Stateless, Stateful, and Entity Beans
309(2)
11.1.2.4 Asynchronous Components: The Message-Driven Bean
311(1)
11.1.2.5 The EJB Container System
311(3)
11.1.3 Where to Go from Here
314(1)
11.2 Enterprise JavaBeans Web Services
315(11)
11.2.1 A Simple Example
315(5)
11.2.1.1 The Endpoint Interface
315(2)
11.2.1.2 The Bean Class
317(2)
11.2.1.3 Deployment Descriptors and Packaging
319(1)
11.2.2 The EJB Runtime Environment
320(7)
11.2.2.1 The JNDI Environment Naming Context
320(1)
11.2.2.2 The SessionBean Interface
321(2)
11.2.2.3 The SessionContext
323(3)
11.3 Wrapping Up
326(1)
Chapter 12 JAX-RPC Client APIs
327(26)
12.1 Generated Stubs
327(11)
12.1.1 The Endpoint Interface
328(2)
12.1.2 The Generated Stub
330(1)
12.1.3 Service Interfaces
331(1)
12.1.4 Using a Generated Stub in J2EE
332(6)
12.2 Dynamic Proxies
338(6)
12.2.1 Using a Dynamic Proxy
339(5)
12.2.2 Under the Covers
344(1)
12.3 DII
344(8)
12.3.1 Using DII with a WSDL Document
344(5)
12.3.2 Using DII without a WSDL Document
349(1)
12.3.3 Using One-Way Messaging with DII
349(1)
12.3.4 JAX-RPC Standard Properties and Constants
349(3)
12.4 Wrapping Up
352(1)
Chapter 13 SAAJ
353(42)
13.1 A Simple SAAJ Example
355(1)
13.2 Creating a SOAP Message
356(7)
13.2.1 The MessageFactory Class
357(3)
13.2.1.1 The newInstance () Method
357(1)
13.2.1.2 The createMessage () Method
357(1)
13.2.1.3 The create Message Method with Parameters
358(2)
13.2.2 SaajOutputter Classes
360(1)
13.2.3 The SOAPMessage Class
360(3)
13.2.3.1 The writeTo () Method
361(1)
13.2.3.2 The getSOAPBody () and getSOAPHeader () Methods
361(1)
13.2.3.3 The getProperty () and setProperty () Methods
362(1)
13.3 Working with SOAP Documents
363(19)
13.3.1 The SOAPPart and SOAPEnvelope Types
363(1)
13.3.2 The SOAPFactory Class and Name Types
364(3)
13.3.3 The SOAPElement Type
367(3)
13.3.4 The Node Type
370(2)
13.3.5 The SOAPHeader Type
372(3)
13.3.6 The SOAPHeaderElement Type
375(1)
13.3.7 The SOAPBody Type
376(1)
13.3.8 The SOAPBodyElement Type
377(1)
13.3.9 The Text Type
378(1)
13.3.10 The SOAPConstants Class
378(1)
13.3.11 The SOAPException Class
379(1)
13.3.12 The SOAPFactory and SOAPElement Types
380(2)
13.4 Working with SOAP Faults
382(6)
13.4.1 The SOAPFault Type
382(5)
13.4.2 The Detail Type
387(1)
13.4.3 The SOAPFaultElement Type
387(1)
13.4.4 The DetailEntry Type
388(1)
13.5 Sending SOAP Messages with SAAJ
388(2)
13.6 SAAJ 1.2 and DOM 2
390(3)
13.7 Wrapping Up
393(2)
Chapter 14 Message Handlers
395(32)
14.1 A Simple Example
396(10)
14.1.1 Defining a Message-Handler Class
396(4)
14.1.2 Defining a VISDL Document
400(2)
14.1.3 Generating the Service and Endpoint Interfaces
402(1)
14.1.4 Configuring Message Handlers
403(1)
14.1.5 Using Message Handlers in a J2EE Component
404(2)
14.2 Handler Chains and Order of Processing
406(10)
14.2.1 Return Values and Order of Processing
411(3)
14.2.2 Exceptions and Order of Processing
414(2)
14.2.2.1 The SOAPFaultException Type
414(1)
14.2.2.2 The JAXRPCException Type
415(1)
14.3 The Handler Runtime Environment
416(9)
14.3.1 Statelessness and Multi-threading
416(1)
14.3.2 JNDI Environment Naming Context
417(2)
14.3.3 A Message Handlers Life Cycle
419(3)
14.3.4 The MessageContext Type
422(3)
14.4 Wrapping Up
425(2)
Chapter 15 Mapping Java to WSDL and XML
427(48)
15.1 Mapping WSDL to Java
428(6)
15.1.1 WSDL-to-Endpoint Interfaces
429(1)
15.1.2 Declaring Multiple Parts
430(2)
15.1.3 Defining Multiple Operations
432(1)
15.1.4 One-Way Messaging
433(1)
15.2 Mapping XML Schema to Java
434(19)
15.2.1 XML Schema Built-in Simple Types
435(1)
15.2.2 XML Schema Complex Types
436(4)
15.2.3 Arrays
440(1)
15.2.4 Enumerations
441(2)
15.2.5 SOAPElement: Supporting Non-standard Types in Document/Literal Encoding
443(7)
15.2.6 SOAPElement: The xsd: any Element
450(1)
15.2.7 Killable Elements
451(2)
15.3 Holders
453(14)
15.3.1 Pass-by-Copy: IN Parameters
453(1)
15.3.2 Pass-by-Reference: INOUT and OUT Parameters
454(2)
15.3.3 Holders: Supporting INOUT and OUT Parameters in JAX-RPC
456(1)
15.3.4 Mapping Holder Types from WSDL
457(10)
15.3.4.1 Examples
458(3)
15.3.4.2 Rules for Mapping parts to Method Parameters
461(1)
15.3.4.3 Standard Holder Types
462(1)
15.3.4.4 Generated Holder Types
463(4)
15.4 Faults and Java Exceptions
467(6)
15.4.1 WSDL Faults and Application Exceptions
467(6)
15.5 Wrapping Up
473(2)
Part V JAXR 475(128)
Chapter 16 Getting Started with JAXR
477(22)
16.1 Using a UDDI Test Registry
478(1)
16.2 Connecting to a UDDI Registry
479(8)
16.2.1 Obtaining a ConnectionFactory
481(1)
16.2.2 Configuring the ConnectionFactory
481(3)
16.2.3 Connecting to the UDDI Registry
484(1)
16.2.4 Authenticating to a UDDI Registry
484(2)
16.2.5 Obtaining a JAXR Connection in J2EE
486(1)
16.3 Using the RegistryService and BusinessLifeCycleManager
487(9)
16.3.1 The RegistryService Interface
489(2)
16.3.2 Using the BusinessLifeCycleManager
491(5)
16.3.2.1 The LifeCycleManager Interface
491(3)
16.3.2.2 The BusinessLifeCycleManager Interface
494(2)
16.4 The BulkResponse Type
496(2)
16.4.1 The BulkResponse Interface
496(1)
16.4.2 Handling the BulkResponse in Examples
497(1)
16.5 Exceptions
498(1)
16.6 Wrapping Up
498(1)
Chapter 17 The JAXR Business Objects
499(46)
17.1 The RegistryObject Interface
501(3)
17.1.1 The UUID Key
502(2)
17.1.1.1 Understanding UUIDs
503(1)
17.1.1.2 The Key Interface
504(1)
17.2 The Organization Information Object
504(40)
17.2.1 businessEntity
508(1)
17.2.2 ExternalLinks
509(3)
17.2.2.1 The ExternalLink Information Object
511(1)
17.2.3 Name and Description
512(4)
17.2.3.1 The InternationalString Interface
512(1)
17.2.3.2 The LocalizedString Interface
513(1)
17.2.3.3. Working with InternationalString Objects
514(2)
17.2.4 User
516(11)
17.2.4.1 Creating a New User Object
520(1)
17.2.4.2 Setting a Person's Name
521(1)
17.2.4.3 Adding Descriptions
521(1)
17.2.4.4 Adding E-Mail Addresses
522(1)
17.2.4.5 Adding Phone Numbers
523(1)
17.2.4.6 Adding a Postal Address
524(3)
17.2.5 Classification
527(11)
17.2.5.1 The Standard UDDI Classifications
527(7)
17.2.5.2 The Classification Interface
534(1)
17.2.5.3 The ClassificationScheme Interface
535(2)
17.2.5.4 Reading Classification and ClassificationScheme Objects
537(1)
17.2.6 External Identifiers
538(5)
17.2.6.1 Managing External Identifiers
541(1)
17.2.6.2 The Externalldentifier Interface
542(1)
17.2.7 Services
543(1)
17.3 Wrapping Up
544(1)
Chapter 18 The JAXR Technical Objects
545(36)
18.1 The Service and ServiceBinding Information Objects
545(8)
18.1.1 Creating a New Service Object
548(1)
18.1.2 Creating a New ServiceBinding Object
549(1)
18.1.3 The Service Interface
550(1)
18.1.4 The ServiceBinding Interface
551(2)
18.2 The Concept Information Object
553(11)
18.2.1 Creating a New Concept
556(3)
18.2.1.1 Create a Concept Instance
556(1)
18.2.1.2 Set the Concept Name
556(1)
18.2.1.3 Set the Overview Document
557(1)
18.2.1.4 Assign the wsdlSpec Classification
558(1)
18.2.1.5 Assign the WS-I Conformance Claim
558(1)
18.2.1.6 Save the Concept Object
559(1)
18.2.2 The Concept Interface
559(5)
18.2.2.1 Concept Methods and Taxonomy Browsing
560(3)
18.2.2.2 RegistryObject Methods and WSDL Concepts
563(1)
18.3 The SpeciacationLink Information Object
564(6)
18.3.1 Using SpecificationLink Objects
565(4)
18.3.1.1 Create a Service and a ServiceBinding
567(1)
18.3.1.2 Create a SpeciacationLink
568(1)
18.3.2 The SpeciacationLink Interface
569(1)
18.4 The Association Information Object
570(5)
18.4.1 Creating an Association
570(5)
18.4.1.1 Find the Concept Object Representing the Association Type
572(2)
18.4.1.2 Create an Association Instance
574(1)
18.4.1.3 Save the Association
574(1)
18.5 Predefined Enumerations
575(3)
18.5.1 The AssociationType Enumeration
575(1)
18.5.2 The URLType Enumeration
576(1)
18.5.3 The ExtensibleObject and Slot Interfaces
577(1)
18.6 Wrapping Up
578(3)
Chapter 19 The JAXR Inquiry and Publishing APIs
581(22)
19.1 Mapping JAXR to the UDDI Inquiry API
581(18)
19.1.1 Using Search Criteria
586(9)
19.1.1.1 The namePattern Criteria
586(1)
19.1.1.2 The classifications Criteria
587(1)
19.1.1.3 The externalIdentifiers Criteria
588(1)
19.1.1.4 The specifications Criteria
589(1)
19.1.1.5 The externalLinks Criteria
590(1)
19.1.1.6 The findQualifiers Criteria
591(4)
19.1.2 The findXXX () Methods
595(13)
19.1.2.1 The findAssociations () Method
595(1)
19.1.2.2 The findCallerAssociations () Method
596(1)
19.1.2.3 The findOrganizations () Method
597(1)
19.1.2.4 The findServices () Method
597(1)
19.1.2.5 The findServiceBindings () Method
598(1)
19.1.2.6 The findClassificationSchemes () Method
598(1)
19.1.2.7 The findClassificationSchemeByName () Method
598(1)
19.1.2.8 The findConcepts () Method
599(1)
19.1.2.9 The findConceptBypath () Method
599(1)
19.2 Mapping JAXR to the UDDI Publishing API
599(2)
19.3 Wrapping Up
601(2)
Part VI JAXP 603(50)
Chapter 20 SAX2
605(20)
20.1 Parsing with SAX: XMLReaderFactory and XMLReader
606(2)
20.2 The ContentHandler and DefaultHandler Interfaces
608(15)
20.2.1 The startDocument () and endDocument () Methods
612(1)
20.2.2 The startElement () and endElement () Methods
613(4)
20.2.3 The startPrefixMapping () and endPrefixMapping () Methods
617(2)
20.2.4 The characters () Method
619(2)
20.2.5 Other ContentHandler Methods
621(1)
20.2.6 Other SAX2 Listener Interfaces
621(2)
20.3 Validating with W3C XML Schema
623(1)
20.4 Wrapping Up
624(1)
Chapter 21 DOM 2
625(28)
21.1 Parsing with DOM: DocumentBuilderFactory and DocumentBuilder
627(1)
21.2 Nodes
628(13)
21.2.1 Type-Dependent Properties
632(2)
21.2.2 XML Name Methods
634(2)
21.2.3 Attribute Methods
636(2)
21.2.4 The Owner Document
638(1)
21.2.5 Navigating a Node Tree
638(3)
21.2.6 Methods for Child Management
641(1)
21.2.7 Other Methods
641(1)
21.3 Building a DOM Document
641(8)
21.4 Copying Nodes
649(2)
21.5 Wrapping Up
651(2)
Part VII Deployment 653(84)
Chapter 22 J2EE Deployment
655(38)
22.1 Overview of the J2EE Deployment Process
655(2)
22.2 J2EE Web Services Deployment
657(6)
22.2.1 Starting with a J2EE Endpoint
657(3)
22.2.2 Starting with WSDL
660(2)
22.2.3 JAX-RPC Mapping Files
662(1)
22.2.4 Deployment Descriptors for J2EE Components
663(1)
22.3 Deploying JSEs
663(9)
22.3.1 Packaging JSEs in a WAR File
663(2)
22.3.2 The web. xml File
665(7)
22.3.2.1 Configuring the ServletContext
667(1)
22.3.2.2 Configuring the JNDI ENC
668(1)
22.3.2.3 Configuring Other Aspects of a JSE
669(3)
22.4 Deploying EJB Endpoints
672(5)
22.4.1 Declarative Transaction Attributes
672(2)
22.4.2 Declarative Security Attributes
674(3)
22.5 Service References
677(15)
22.5.1 The service-ref-name Element
679(1)
22.5.2 The service-interface Element
680(1)
22.5.3 The wsdl-file and service-qname Elements
681(2)
22.5.4 The jaxrpc-mapping-file Element
683(1)
22.5.5 The port-component-ref Element
683(2)
22.5.6 The Display Elements
685(1)
22.5.7 The handler Element
685(16)
22.5.7.1 The handler-name Element
686(1)
22.5.7.2 The handler-class Element
687(1)
22.5.7.3 The init-param Elements
687(1)
22.5.7.4 The soap-header Elements
688(1)
22.5.7.5 The soap-role Elements
688(2)
22.5.7.6 The port-name Element
690(1)
22.5.7.7 Proper Processing by Handlers
690(1)
22.5.7.8 The Handler Display Elements
691(1)
22.6 Wrapping Up
692(1)
Chapter 23 Web Service Descriptors
693(16)
23.1 The wsdl-file and wsdl-port Elements
694(2)
23.2 The port-component-name Element
696(1)
23.3 The service-endpoint-interface Element
697(1)
23.4 The service-impl-bean Element
698(2)
23.5 The jaxrpc-mapping-file Element
700(1)
23.6 The handler Element
701(5)
23.6.1 The handler-name Element
702(1)
23.6.2 The handler-class Element
702(1)
23.6.3 The init-param Elements
702(1)
23.6.4 The soap-header Elements
703(1)
23.6.5 The soap-role Elements
704(1)
23.6.6 Proper Processing by Handlers
705(1)
23.6.7 The Display Elements
706(1)
23.7 Wrapping Up
706(3)
Chapter 24 JAX-RPC Mapping Files
709(28)
24.1 Conditions for a Lightweight JAX-RPC Mapping File
709(1)
24.2 A Lightweight Example
710(3)
24.3 A Heavyweight Example
713(3)
24.4 Anatomy of a Mapping File
716(19)
24.4.1 The java-wsdl-mapping Element
717(1)
24.4.2 The package-mapping Element
717(3)
24.4.3 The java-xml-type-mapping Element
720(3)
24.4.4 The exception-mapping Element
723(2)
24.4.5 The service-interface-mapping Element
725(3)
24.4.6 The service-endpoint-interface-mapping Element
728(7)
24.5 Wrapping Up
735(2)
Appendices
Introduction
737(2)
Appendix A XML DTDs
739(6)
Appendix B XML Schema Regular Expressions
745(6)
B.1 Character Sets
746(1)
B.2 Quantifiers
746(1)
B.3 Other Meta-characters
747(1)
B.4 Real-World Examples
748(7)
B.4.1 ISBN (International Standard Book Number)
748(1)
B.4.2 United States Zip Code
749(1)
B.4.3 United States Phone Number
749(1)
B.4.4 United Kingdom Postal Code
749(2)
Appendix C Base64 Encoding
751(4)
Appendix D SOAP RPC/Encoded
755(16)
D.1 The soap: encodingStyle Attribute
756(1)
D.2 The Operation Structs
756(3)
D.3 Simple Types
759(1)
D.4 Complex Types
760(1)
D.5 Array Types
761(6)
D.5.1 Array Size
765(1)
D.5.2 Other Features of Arrays
766(1)
D.6 References
767(3)
D.7 Wrapping Up
770(1)
Appendix E SOAP Messages with Attachments
771(10)
E.1 Understanding MIME
772(3)
E.2 Using MIME with SOAP
775(3)
E.3 Wrapping Up
778(3)
Appendix F SAAJ Attachments
781(30)
F.1 The Java Activation Framework
782(11)
F.1.1 DataHandler
783(2)
F.1.2 DataContentHandler
785(4)
F.1.3 DataSource
789(4)
F.2 SAAJ and JAF: AttachmentPart
793(10)
F.2.1 Data Objects
795(1)
F.2.2 The createAttachmentPart () Method
795(1)
F.2.3 The setContent () and setDataHandler () Methods
796(2)
F.2.4 The getContent () Method
798(1)
F.2.5 The MIME Header Methods
799(4)
F.3 The SOAPPart
803(4)
F.3.1 XSLT
805(1)
F.3.2 TrAX
805(1)
F.3.3 Using a StreamSource
805(1)
F.3.4 DOMSource
806(1)
F.3.5 SAXSource
807(1)
F.4 The SOAPEnvelope
807(2)
F.4.1 The getHeader (), getBody (), addHeader (), and addBody () Methods
808(1)
F.4.2 The createName () Method
808(1)
F.5 Wrapping Up
809(2)
Appendix G JAX-RPC and SwA
811(18)
G.1 JAF Revisited: DataContentHandler and DataSource Types
811(1)
G.2 A Simple Example
812(4)
G.3 Mapping MIME Types to Java
816(9)
G.3.1 The multipart/ * MIME Type
818(2)
G.3.2 The text/xml and application/xml MIME Types
820(3)
G.3.3 MIME Attachments as Return Types, and INOUT and OUT Parameters
823(2)
G.4 Using DataHandler and DataSource Types
825(3)
G.5 Wrapping Up
828(1)
Appendix H Using JAX-RPC DII without a WSDL Document
829(8)
Bibliography 837(6)
Index 843

Excerpts

This book is sharply focused. It concentrates on only those Web services standards that are sanctioned by the Web Services Interoperability Organization''s Basic Profile 1.0, because these are the only standards that have been proven in production and are explicitly required by the J2EE Web Services platform. This book also covers only those J2EE APIs and components that are specific to Web services. The truth is, the primary Web service standards (XML, SOAP, WSDL, and UDDI), as well as the J2EE Web Services APIs (JAX-RPC, SAAJ, JAXR, and JAXP), are pretty complicated, and you are going to need to spend time studying this book in order to master them. That said, I think you will find this book to be a pretty easy read and an excellent desk-side reference. Are Web Services Important? Revolutionary technologies tend to take the media by storm and then eventually become ubiquitous. The World Wide Web, Java technology, and XML seem to be everywhere, don''t they? Each of these technologies saw rapid adoption and today are considered essential ingredients of enterprise-level computing. First introduced in 2000, Web services is also a revolutionary technology. It was introduced with a great deal of media hyperbole, but has since settled down to business and is just beginning to enjoy rapid adoption by the developer community. If you did not get involved in Web services before 2003, don''t worry; you didn''t miss much. The first two years should be considered experimental, the beta period of Web services. It was a time when the Web services community defined a cornucopia of specifications and discovered numerous real-world problems when attempting to make those specifications work in production. The year 2003, however, marks the beginning of hyperactive growth in Web services. If you are just jumping on board the Web services bandwagon, your timing couldn''t be better. Consider yourself a pioneer of a revolutionary technology, and prepare to immerse yourself in one of the most important innovations in the history of distributed computing. What Do I Need to Know to Read This Book? This book is written for Java developers who want to learn about Web services and related APIs defined by J2EE 1.4. It is more of a reference than a tutorial, but many of the chapters have a tutorial-like style. This book is designed to teachJ2EE Web Services and is more than a reference. You must have experience in the Java programming language to read this book. If you don''t, you''ll find all the material after Chapter 9 difficult to understand. In addition, you should have some basic understanding of the J2EE platform. This book covers only the Web services functionality of J2EE, not other J2EE APIs or technologies. To read this book, you do not need to know anything about XML, SOAP, WSDL, UDDI, or any of the J2EE Web Services APIs (JAX-RPC, SAAJ, JAXR, or JAXP). I''ve covered these topics in enough detail that I''m confident even a complete novice will be able to understand them. What Does This Book Cover? This book focuses only on the Web services standards and the J2EE 1.4 Web Services APIs and componentsall other topics are deferred to other specialized books or to more general books. Specifically this book covers the following Web service standards: XML 1.0 SOAP 1.1 SOAP Messages with Attachments WSDL 1.1 UDDI 2.0 WS-I Basic Profile 1.0 The Web services standards take up the first third of the book, Chapters 1-8, while the rest of the book focuses on the J2EE Web Services APIs: JAX-RPC 1.1 SAAJ 1.2 JAXR 1.0 JAXP 1.2 This book covers the use of the Web Services APIs as specified in J2EE 1.4 because version 1.4 is the first Java platform that fully embraces the Web service paradigm. How Is This Book Organized? The book is designed as a reference and a tutorial about J2EE Web Services. The chapters tend to build on one another. Once you read Part I on XML, you are prepared to read Part II on SOAP and WSDL. Similarly, before you read Part IV on JAX-RPC (Java API for XML-based RPC) you should understand XML, SOAP, and WSDL. Once you have read this book and understand J2EE Web services, it should continue to be very helpful as a reference. You can use it in your everyday work to look up information about Web service standards and the J2EE 1.4 Web Services APIs. The book is divided into seven parts, each of which is made up of two or more chapters about a specific Web service standard or J2EE API, plus one introductory chapter. Each part begins with an introduction page that tells you how to read the chapters, and specifically which parts you really must read and which parts are optional reference material. Every chapter is organized into four to five levels of headings labeled with a hierarchical dot notation. This labeling scheme is used in many specifications today, and is particularly useful for a reference book because it makes it much easier to discuss certain portions of the book with your colleagues. The book also includes appendices that cover important topics like XML regular expressions, Base64 encoding, DTDs, SOAP Messages with Attachments, and RPC/Encoded messaging. The following outline of the book includes a short description of each chapter. Chapter 1summarizes the topics covered by this book, presents a brief architectural overview of J2EE 1.4, and provides abstracts about XML, SOAP, WSDL, UDDI, WS-I, JAX-RPC, SAAJ, JAXR, and JAXP. Part I: XML Chapters 2 and 3 cover in detail XML 1.0 and the XML Schema standard defined by the World Wide Web Consortium (W3C). This part assumes you have no prior knowledge of XML and explains the topic from the ground up. Chapter 2covers XML and XML namespaces. Chapter 3provides both basic and advanced coverage of the W3C''s XML Schema standard. Part II: SOAP and WSDL Chapters 4 and 5 gently introduce SOAP 1.1 and WSDL 1.1. This part assumes you are already familiar with XML, XML namespaces, and XML schema as described in Part I. Chapter 4explains the structure of SOAP messages, terminology, and processing rules. Chapter 5covers WSDL 1.1. Part III: UDDI Chapters 6 through 8 provide a reference to the UDDI 2.0 data types, and to query and publishing methods. This part of the book assumes you are already familiar with XML, XML schema, SOAP, and WSDL as covered in Parts I and II. Chapter 6provides a gentle introduction to the UDDI data types. Chapters 7 and 8are pure reference material; they provide schema information about the UDDI Inquiry and Publishing APIs. Part IV: JAX-RPC Chapters 9 through 15 provide very detailed coverage of the entire Java API for XML-based RPC (JAX-RPC), version 1.1. This part assumes you already know XML, XML schema, SOAP, and WSDL. Chapter 9introduces various features of JAX-RPC. Chapter 10covers JAX-RPC service endpoints (JSEs) and their relationship to the servlet container system. Chapter 11covers EJB endpoints, EJB stateless session beans that act as Web services. >Chapter 12studies in detail the JAX-RPC client APIs you will use to communicate with other Web services. Chapter 13covers the use of SAAJ 1.2. Chapter 14describes the use and configuration of message handlers, which are used to pre- and post-process SOAP messages. Chapter 15covers Java-to-WSDL and Java

An electronic version of this book is available through VitalSource.

This book is viewable on PC, Mac, iPhone, iPad, iPod Touch, and most smartphones.

By purchasing, you will be able to view this book online, as well as download it, for the chosen number of days.

Digital License

You are licensing a digital product for a set duration. Durations are set forth in the product description, with "Lifetime" typically meaning five (5) years of online access and permanent download to a supported device. All licenses are non-transferable.

More details can be found here.

A downloadable version of this book is available through the eCampus Reader or compatible Adobe readers.

Applications are available on iOS, Android, PC, Mac, and Windows Mobile platforms.

Please view the compatibility matrix prior to purchase.