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) |
|
|
2 | (1) |
|
1.2 The Technologies of Web Services |
|
|
3 | (7) |
|
1.2.1 WS-I Basic Profile 1.0 |
|
|
5 | (1) |
|
|
6 | (1) |
|
|
7 | (2) |
|
|
9 | (1) |
|
|
9 | (1) |
|
1.3 The J2EE Web Service APIs |
|
|
10 | (2) |
|
|
10 | (1) |
|
|
11 | (1) |
|
|
11 | (1) |
|
|
12 | (1) |
|
|
12 | (3) |
Part I XML |
|
15 | (64) |
|
|
17 | (16) |
|
|
17 | (9) |
|
2.1.1 XML Document Instance |
|
|
20 | (1) |
|
2.1.2 Anatomy of an XML Document |
|
|
21 | (4) |
|
|
21 | (1) |
|
|
21 | (1) |
|
|
22 | (1) |
|
|
23 | (1) |
|
|
24 | (1) |
|
2.1.3 Processing XML Documents |
|
|
25 | (1) |
|
|
26 | (6) |
|
2.2.1 An Example of Using Namespaces |
|
|
26 | (3) |
|
2.2.2 Default Namespaces, Prefixes, and Qualified Names |
|
|
29 | (3) |
|
|
32 | (1) |
|
Chapter 3 The W3C XML Schema Language |
|
|
33 | (46) |
|
|
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) |
|
|
36 | (3) |
|
|
39 | (10) |
|
3.1.4.1 Sequences of Elements |
|
|
41 | (2) |
|
|
43 | (2) |
|
3.1.4.3 Occurrence Constraints |
|
|
45 | (3) |
|
|
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) |
|
|
57 | (20) |
|
3.2.1 Inheritance of Complex Types |
|
|
58 | (6) |
|
|
58 | (2) |
|
|
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) |
|
|
69 | (1) |
|
|
69 | (1) |
|
|
70 | (2) |
|
3.2.5 Importing and Including Schemas |
|
|
72 | (23) |
|
|
72 | (3) |
|
|
75 | (2) |
|
|
77 | (2) |
Part II: SOAP and WSDL |
|
79 | (84) |
|
|
81 | (46) |
|
4.1 The Basic Structure of SOAP |
|
|
84 | (4) |
|
|
88 | (7) |
|
|
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) |
|
|
106 | (1) |
|
|
107 | (4) |
|
|
107 | (1) |
|
|
108 | (2) |
|
4.5.3 Messaging Modes versus Messaging Exchange Patterns |
|
|
110 | (1) |
|
4.5.4 Other Messaging Modes |
|
|
111 | (1) |
|
|
111 | (9) |
|
4.6.1 The faultcode Element |
|
|
113 | (4) |
|
|
114 | (1) |
|
|
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) |
|
|
118 | (2) |
|
4.6.4.1 Processing Header Faults: Omitting the detail Element |
|
|
119 | (1) |
|
4.6.5 Final Words about Faults |
|
|
120 | (1) |
|
|
120 | (4) |
|
4.7.1 Transmitting SOAP with HTTP POST Messages |
|
|
121 | (2) |
|
4.7.2 HTTP Response Codes |
|
|
123 | (1) |
|
|
123 | (1) |
|
|
123 | (1) |
|
4.7.3 Final Words about HTTP |
|
|
124 | (1) |
|
|
124 | (3) |
|
|
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) |
|
|
134 | (2) |
|
|
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) |
|
|
147 | (1) |
|
5.4.3 Notification and Solicit/Response Messaging |
|
|
147 | (1) |
|
5.5 WSDL Implementation: The binding Element |
|
|
148 | (12) |
|
|
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) |
|
|
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) |
|
|
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) |
|
|
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) |
|
|
199 | (1) |
|
6.6 WS-I Conformance Claims |
|
|
200 | (1) |
|
|
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) |
|
|
204 | (20) |
|
7.2.1.1 Using Search Elements |
|
|
205 | (9) |
|
7.2.1.2 Operation Definitions and Payloads |
|
|
214 | (10) |
|
|
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) |
|
|
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) |
|
|
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) |
|
|
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) |
|
|
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) |
|
|
264 | (4) |
|
|
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) |
|
|
277 | (3) |
|
|
280 | (1) |
|
|
280 | (1) |
|
9.3 Other JAX-RPC Topics Covered |
|
|
281 | (1) |
|
|
282 | (1) |
|
|
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) |
|
|
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) |
|
|
308 | (6) |
|
|
309 | (1) |
|
|
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) |
|
|
315 | (5) |
|
11.2.1.1 The Endpoint Interface |
|
|
315 | (2) |
|
|
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) |
|
|
326 | (1) |
|
Chapter 12 JAX-RPC Client APIs |
|
|
327 | (26) |
|
|
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) |
|
|
338 | (6) |
|
12.2.1 Using a Dynamic Proxy |
|
|
339 | (5) |
|
|
344 | (1) |
|
|
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) |
|
|
352 | (1) |
|
|
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) |
|
|
370 | (2) |
|
13.3.5 The SOAPHeader Type |
|
|
372 | (3) |
|
13.3.6 The SOAPHeaderElement Type |
|
|
375 | (1) |
|
|
376 | (1) |
|
13.3.8 The SOAPBodyElement Type |
|
|
377 | (1) |
|
|
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) |
|
|
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) |
|
|
390 | (3) |
|
|
393 | (2) |
|
Chapter 14 Message Handlers |
|
|
395 | (32) |
|
|
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) |
|
|
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) |
|
|
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) |
|
|
440 | (1) |
|
|
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) |
|
|
451 | (2) |
|
|
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) |
|
|
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) |
|
|
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) |
|
|
498 | (1) |
|
|
498 | (1) |
|
Chapter 17 The JAXR Business Objects |
|
|
499 | (46) |
|
17.1 The RegistryObject Interface |
|
|
501 | (3) |
|
|
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) |
|
|
508 | (1) |
|
|
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) |
|
|
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) |
|
|
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) |
|
|
543 | (1) |
|
|
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) |
|
|
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) |
|
|
601 | (2) |
Part VI JAXP |
|
603 | (50) |
|
|
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) |
|
|
624 | (1) |
|
|
625 | (28) |
|
21.1 Parsing with DOM: DocumentBuilderFactory and DocumentBuilder |
|
|
627 | (1) |
|
|
628 | (13) |
|
21.2.1 Type-Dependent Properties |
|
|
632 | (2) |
|
|
634 | (2) |
|
|
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) |
|
|
641 | (1) |
|
21.3 Building a DOM Document |
|
|
641 | (8) |
|
|
649 | (2) |
|
|
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) |
|
|
663 | (9) |
|
22.3.1 Packaging JSEs in a WAR File |
|
|
663 | (2) |
|
|
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) |
|
|
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) |
|
|
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) |
|
|
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) |
|
|
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) |
|
|
735 | (2) |
Appendices |
|
|
|
737 | (2) |
|
|
739 | (6) |
|
Appendix B XML Schema Regular Expressions |
|
|
745 | (6) |
|
|
746 | (1) |
|
|
746 | (1) |
|
B.3 Other Meta-characters |
|
|
747 | (1) |
|
|
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) |
|
|
759 | (1) |
|
|
760 | (1) |
|
|
761 | (6) |
|
|
765 | (1) |
|
D.5.2 Other Features of Arrays |
|
|
766 | (1) |
|
|
767 | (3) |
|
|
770 | (1) |
|
Appendix E SOAP Messages with Attachments |
|
|
771 | (10) |
|
|
772 | (3) |
|
|
775 | (3) |
|
|
778 | (3) |
|
Appendix F SAAJ Attachments |
|
|
781 | (30) |
|
F.1 The Java Activation Framework |
|
|
782 | (11) |
|
|
783 | (2) |
|
|
785 | (4) |
|
|
789 | (4) |
|
F.2 SAAJ and JAF: AttachmentPart |
|
|
793 | (10) |
|
|
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) |
|
|
803 | (4) |
|
|
805 | (1) |
|
|
805 | (1) |
|
F.3.3 Using a StreamSource |
|
|
805 | (1) |
|
|
806 | (1) |
|
|
807 | (1) |
|
|
807 | (2) |
|
F.4.1 The getHeader (), getBody (), addHeader (), and addBody () Methods |
|
|
808 | (1) |
|
F.4.2 The createName () Method |
|
|
808 | (1) |
|
|
809 | (2) |
|
Appendix G JAX-RPC and SwA |
|
|
811 | (18) |
|
G.1 JAF Revisited: DataContentHandler and DataSource Types |
|
|
811 | (1) |
|
|
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) |
|
|
828 | (1) |
|
Appendix H Using JAX-RPC DII without a WSDL Document |
|
|
829 | (8) |
Bibliography |
|
837 | (6) |
Index |
|
843 | |