Red Hat JBoss Fuse 6.2 Apache CXF Development Guide Develop applications with Apache CXF Web services Last Updated: 2017-09-26 Red Hat JBoss Fuse 6.2 Apache CXF Development Guide Develop applications with Apache CXF Web services JBoss A-MQ Docs Team Content Services [email protected] Legal Notice Copyright © 2015 Red Hat. The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/ . In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version. Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law. Red Hat, Red Hat Enterprise Linux, the Shadowman logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries. Linux ® is the registered trademark of Linus Torvalds in the United States and other countries. Java ® is a registered trademark of Oracle and/or its affiliates. XFS ® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries. MySQL ® is a registered trademark of MySQL AB in the United States, the European Union and other countries. Node.js ® is an official trademark of Joyent. Red Hat Software Collections is not formally related to or endorsed by the official Joyent Node.js open source or commercial project. The OpenStack ® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community. All other trademarks are the property of their respective owners. Abstract Guide to developing Web services using Apache CXF. Table of Contents Table of Contents .P .A . .R . T. .I .. .W . R. .I .T .I .N . G. . W. .S . D. .L . .C .O . .N . T. R. .A . .C .T . S. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1 .0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .C .H . A. . P. T. .E . R. . 1. .. I.N . T. .R . O. .D . U. .C . I.N . .G . W. . S. .D . L. .C . O. .N . .T .R . A. .C . T. .S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1. 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1. STRUCTURE OF A WSDL DOCUMENT 11 1.2. WSDL ELEMENTS 11 1.3. DESIGNING A CONTRACT 12 .C .H . A. . P. T. .E . R. . 2. .. D. . E. F. .I N. .I .N . G. . L. O. .G . I. C. .A . L. .D . A. .T . A. . U. .N . I. T. .S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1 .3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1. INTRODUCTION TO LOGICAL DATA UNITS 13 2.2. MAPPING DATA INTO LOGICAL DATA UNITS 13 2.3. ADDING DATA UNITS TO A CONTRACT 14 2.4. XML SCHEMA SIMPLE TYPES 15 2.5. DEFINING COMPLEX DATA TYPES 16 2.6. DEFINING ELEMENTS 24 .C .H . A. . P. T. .E . R. . 3. .. D. . E. F. .I N. .I .N . G. . L. O. .G . I. C. .A . L. .M . .E .S . S. .A . G. .E . S. .U . S. .E . D. . B. .Y . .A . .S . E. .R . V. .I C. .E . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2. .6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . OVERVIEW 26 MESSAGES AND PARAMETER LISTS 26 MESSAGE DESIGN FOR INTEGRATING WITH LEGACY SYSTEMS 26 MESSAGE DESIGN FOR SOAP SERVICES 27 MESSAGE NAMING 27 MESSAGE PARTS 27 EXAMPLE 28 .C .H . A. . P. T. .E . R. . 4. .. .D . E. .F .I N. . I.N . G. . Y. .O . U. .R . .L . O. .G . I.C . A. .L . .I N. .T . E. .R . F. A. .C . E. .S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3. .0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . OVERVIEW 30 PROCESS 30 PORT TYPES 30 OPERATIONS 30 OPERATION MESSAGES 31 RETURN VALUES 32 EXAMPLE 32 .P .A . .R . T. .I .I .. W. . E. B. . S. .E . R. .V . I.C . E. .S . B. .I .N . D. .I N. . G. .S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3. .3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .C .H . A. . P. T. .E . R. . 5. .. U. . N. .D . E. .R . S. T. .A . N. .D . I. N. .G . .B . I.N . D. .I .N . G. .S . .I N. . W. . S. D. . L. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3. .4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . OVERVIEW 34 PORT TYPES AND BINDINGS 34 THE WSDL ELEMENTS 34 ADDING TO A CONTRACT 34 SUPPORTED BINDINGS 35 .C .H . A. . P. T. .E . R. . 6. .. U. . S. I. N. .G . .S .O . .A . P. . 1.. 1. .M . .E .S . S. .A . G. .E . S. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3. .6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.1. ADDING A SOAP 1.1 BINDING 36 6.2. ADDING SOAP HEADERS TO A SOAP 1.1 BINDING 38 .C .H . A. . P. T. .E . R. . 7. .. U. .S . I.N . .G . S. .O . A. .P . .1 .. 2. . M. .E . S. .S .A . G. .E . S. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4. .3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.1. ADDING A SOAP 1.2 BINDING TO A WSDL DOCUMENT 43 7.2. ADDING HEADERS TO A SOAP 1.2 MESSAGE 45 .C .H . A. . P. T. .E . R. . 8. .. .S .E . N. .D . I. N. .G . .B . I.N . A. .R . Y. . D. .A . .T .A . .U . .S .I .N . G. . S. O. . A. .P . .W . I. T. H. . A. . T. T. .A . C. .H . M. . E. N. .T . S. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5. .0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . OVERVIEW 50 NAMESPACE 50 CHANGING THE MESSAGE BINDING 50 1 Red Hat JBoss Fuse 6.2 Apache CXF Development Guide DESCRIBING A MIME MULTIPART MESSAGE 51 EXAMPLE 52 .C .H . A. . P. T. .E . R. . 9. .. S. .E . N. .D . I. N. .G . .B . I.N . A. .R . Y. . D. .A . .T .A . .W . .I T. .H . .S . O. .A . P. . M. . T. O. .M . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5. .4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.1. OVERVIEW OF MTOM 54 9.2. ANNOTATING DATA TYPES TO USE MTOM 54 9.3. ENABLING MTOM 57 .C .H . A. . P. T. .E . R. . 1. 0. .. U. . S. I. N. .G . .X . M. .L . .D . O. .C . U. .M . E. .N . T. .S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6. .0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XML BINDING NAMESPACE 60 HAND EDITING 60 XML MESSAGES ON THE WIRE 61 OVERRIDING THE BINDING'S ROOTNODE ATTRIBUTE SETTING 62 .P .A . .R . T. .I .I I.. .W . .E . B. . S. E. .R . V. .I .C .E . S. . T. R. .A . .N . S. .P .O . .R . T. S. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6. .4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .C .H . A. . P. T. .E . R. . 1. 1.. .U . .N . D. .E .R . .S .T . A. .N . D. .I .N . G. . H. .O . W. . .E .N . .D . P. .O . I.N . T. .S . .A . R. .E . D. . E. F. .I N. .E . D. . I. N. . W. .S . D. .L . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6. .5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . OVERVIEW 65 ENDPOINTS AND SERVICES 65 THE WSDL ELEMENTS 65 ADDING ENDPOINTS TO A CONTRACT 65 SUPPORTED TRANSPORTS 65 .C .H . A. . P. T. .E . R. . 1. 2. .. U. .S . I.N . .G . .H . T. T. .P . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6. .7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12.1. ADDING A BASIC HTTP ENDPOINT 67 12.2. CONFIGURING A CONSUMER 69 12.3. CONFIGURING A SERVICE PROVIDER 76 12.4. CONFIGURING THE JETTY RUNTIME 82 12.5. CONFIGURING THE NETTY RUNTIME 85 12.6. USING THE HTTP TRANSPORT IN DECOUPLED MODE 90 .C .H . A. . P. T. .E . R. . 1. 3. .. U. .S . I.N . .G . S. .O . A. .P . .O . V. .E . R. . J. .M . S. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9. .5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13.1. BASIC CONFIGURATION 95 13.2. JMS URIS 97 13.3. WSDL EXTENSIONS 102 .C .H . A. . P. T. .E . R. . 1. 4. .. U. . S. I. N. .G . .G . E. N. .E . R. .I .C . J. .M . S. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1 0. .7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.1. APPROACHES TO CONFIGURING JMS 107 14.2. USING THE JMS CONFIGURATION BEAN 107 14.3. OPTIMIZING CLIENT-SIDE JMS PERFORMANCE 116 14.4. CONFIGURING JMS TRANSACTIONS 117 14.5. USING WSDL TO CONFIGURE JMS 119 14.6. USING A NAMED REPLY DESTINATION 124 .A . P. .P .E . N. .D . I. X. . A. .. .I N. .T . E. .G . R. .A . T. .I N. .G . .W . .I T. .H . .A . P. .A . C. .H . E. . A. .C . T. I. V. .E .M . .Q . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1. 2. .6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . OVERVIEW 126 THE INITIAL CONTEXT FACTORY 126 LOOKING UP THE CONNECTION FACTORY 126 SYNTAX FOR DYNAMIC DESTINATIONS 126 .A . P. .P .E . N. .D . I. X. . B. .. .C . O. .N . D. .U . I.T . S. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1. 2. .8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . OVERVIEW 128 CONDUIT LIFE-CYCLE 128 CONDUIT WEIGHT 128 .P .A . .R . T. .I .V . .. C. O. . N. .F .I .G .U . .R . I.N . G. . W. . E. .B . .S .E . R. .V . I.C . E. . E. .N . D. .P . O. .I N. .T . S. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1. 2. .9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Table of Contents .C .H . A. . P. T. .E . R. . 1. 5. .. C. .O . N. .F . I.G . U. .R . I. N. .G . .J .A . X. .- .W . .S . .E .N . D. . P. O. . I.N . T. .S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1. 3. .0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.1. CONFIGURING SERVICE PROVIDERS 130 15.2. CONFIGURING CONSUMER ENDPOINTS 139 .C .H . A. . P. T. .E . R. . 1. 6. .. C. .O . N. .F . I.G . U. .R . I. N. .G . .J .A . X. .- .R . S. . E. .N . D. .P . O. .I N. .T . S. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1. 4. .3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16.1. CONFIGURING JAX-RS SERVER ENDPOINTS 143 16.2. CONFIGURING JAX-RS CLIENT ENDPOINTS 155 16.3. DEFINING REST SERVICES WITH THE MODEL SCHEMA 159 .C .H . A. . P. T. .E . R. . 1. 7. .. A. .P . A. .C . H. .E . .C . X. .F . L. .O . G. .G . I.N . G. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1. 6. .4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.1. OVERVIEW OF APACHE CXF LOGGING 164 17.2. SIMPLE EXAMPLE OF USING LOGGING 165 17.3. DEFAULT LOGGING CONFIGURATION FILE 166 17.4. ENABLING LOGGING AT THE COMMAND LINE 169 17.5. LOGGING FOR SUBSYSTEMS AND SERVICES 169 17.6. LOGGING MESSAGE CONTENT 171 .C .H . A. . P. T. .E . R. . 1. 8. .. D. .E . P. .L .O . .Y . I.N . G. . W. . S. .- A. .D . .D . R. .E .S . S. .I N. .G . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1 7. .5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18.1. INTRODUCTION TO WS-ADDRESSING 175 18.2. WS-ADDRESSING INTERCEPTORS 175 18.3. ENABLING WS-ADDRESSING 176 18.4. CONFIGURING WS-ADDRESSING ATTRIBUTES 177 .C .H . A. . P. T. .E . R. . 1. 9. .. E. .N . A. .B . L. .I N. .G . .R . E. .L .I .A . B. .L .E . .M . .E .S . S. .A . G. .I N. .G . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1 7. .9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19.1. INTRODUCTION TO WS-RM 179 19.2. WS-RM INTERCEPTORS 181 19.3. ENABLING WS-RM 182 19.4. RUNTIME CONTROL 185 19.5. CONFIGURING WS-RM 187 19.6. CONFIGURING WS-RM PERSISTENCE 195 .C .H . A. . P. T. .E . R. . 2. 0. .. .E . N. .A . B. .L . I.N . G. . H. .I .G . H. . A. .V . A. .I .L .A . B. .I .L .I T. .Y . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1 9. .7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20.1. INTRODUCTION TO HIGH AVAILABILITY 197 20.2. ENABLING HA WITH STATIC FAILOVER 197 20.3. CONFIGURING HA WITH STATIC FAILOVER 199 .C .H . A. . P. T. .E . R. . 2. 1. .. E. .N . A. .B . L. .I N. .G . .H . I. G. .H . .A . V. .A . I.L . A. .B . I. L. I.T . Y. . I.N . . F. U. .S . E. . F. A. .B . R. .I .C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2. .0 . 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.1. LOAD BALANCING CLUSTER 201 21.2. FAILOVER CLUSTER 209 .C .H . A. . P. T. .E . R. . 2. 2. .. .P . A. .C . K. .A . G. .I .N . G. . A. .N . .A . P. .P . L. I. C. A. .T . I. O. .N . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2 .1 .3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CREATING A BUNDLE 213 REQUIRED BUNDLE 213 REQUIRED PACKAGES 213 EXAMPLE 214 .C .H . A. . P. T. .E . R. . 2. 3. .. .D . E. .P . L. O. .Y . I. N. .G . .A . N. . A. .P . P. .L .I .C . A. .T .I .O . N. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2 .1 .5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . OVERVIEW 215 HOT DEPLOYMENT 215 DEPLOYING FROM THE CONSOLE 215 REFRESHING AN APPLICATION 215 STOPPING AN APPLICATION 216 UNINSTALLING AN APPLICATION 216 .A . P. .P .E . N. .D . I. X. . C. .. .A . P. .A . C. H. . E. .C . X. .F . .B . I.N . D. .I .N . G. . I.D . S. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2 .1 .7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TABLE OF BINDING IDS 217 3 Red Hat JBoss Fuse 6.2 Apache CXF Development Guide .A . P. .P .E . N. .D . I. X. . D. .. .U . S. .I N. .G . .T . H. .E . .M . A. .V . E. .N . .O . S. .G . I. T. .O . O. .L . I.N . G. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2. .1 .8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D.1. THE MAVEN BUNDLE PLUG-IN 218 D.2. SETTING UP A RED HAT JBOSS FUSE OSGI PROJECT 218 D.3. CONFIGURING THE BUNDLE PLUG-IN 221 .P .A . .R . T. .V . .. D. .E . V. .E . L. O. .P . I. N. .G . .A . P. .P .L . I.C . A. .T . I.O . .N . S. .U . S. .I .N . G. . J. A. .X . -. W. . S. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2 . 2. .6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .C .H . A. . P. T. .E . R. . 2. 4. .. .B . O. .T . T. .O . M. .- .U . P. . S. .E . R. .V . I.C . E. . D. .E .V . E. .L . O. .P . M. .E . N. .T . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2. 2. .7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24.1. INTRODUCTION TO JAX-WS SERVICE DEVELOPMENT 227 24.2. CREATING THE SEI 227 24.3. ANNOTATING THE CODE 229 24.4. GENERATING WSDL 251 .C .H . A. . P. T. .E . R. . 2. 5. .. .D . E. .V . E. .L .O . P. .I .N . G. . A. . C. .O . N. .S .U . .M . E. .R . .W . .I T. .H . O. .U . T. . A. . W. . S. D. .L . .C . O. .N . T. .R . A. .C . T. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2 . 5. .4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25.1. JAVA-FIRST CONSUMER DEVELOPMENT 254 25.2. CREATING A SERVICE OBJECT 254 25.3. ADDING A PORT TO A SERVICE 256 25.4. GETTING A PROXY FOR AN ENDPOINT 257 25.5. IMPLEMENTING THE CONSUMER'S BUSINESS LOGIC 258 .C .H . A. . P. T. .E . R. . 2. 6. .. .A . .S . T. .A . R. .T .I .N . G. . P. .O . I.N . T. . W. . S. D. . L. .C . O. .N . T. .R . A. .C . T. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2 . 6. .0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26.1. SAMPLE WSDL CONTRACT 260 .C .H . A. . P. T. .E . R. . 2. 7. .. .T .O . .P .- .D . O. .W . .N . .S . E. .R . V. .I C. .E . .D . E. .V . E. L. .O . P. .M . E. .N . T. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2. 6. .3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27.1. OVERVIEW OF JAX-WS SERVICE PROVIDER DEVELOPMENT 263 27.2. GENERATING THE STARTING POINT CODE 263 27.3. IMPLEMENTING THE SERVICE PROVIDER 265 .C .H . A. . P. T. .E . R. . 2. 8. .. .D . E. .V . E. .L .O . P. .I .N . G. . A. . C. .O . N. .S . U. .M . E. .R . .F . R. .O . M. . A. . W. . S. .D . L. .C . O. .N . T. .R . A. .C . T. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2. 6. .7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28.1. GENERATING THE STUB CODE 267 28.2. IMPLEMENTING A CONSUMER 268 .C .H . A. . P. T. .E . R. . 2. 9. .. .F . I.N . D. .I .N . G. . W. .S . D. .L . .A . T. .R . U. . N. .T .I .M . E. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2. 7. .3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29.1. MECHANISMS FOR LOCATING THE WSDL DOCUMENT 273 29.2. INSTANTIATING A PROXY BY INJECTION 273 29.3. USING A JAX-WS CATALOG 275 29.4. USING A CONTRACT RESOLVER 276 .C .H . A. . P. T. .E . R. . 3. 0. .. .G . E. .N . E. .R . I.C . .F . A. .U . L. T. . H. .A . N. .D . L. .I N. .G . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2 . 8. .0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30.1. RUNTIME FAULTS 280 30.2. PROTOCOL FAULTS 281 .C .H . A. . P. T. .E . R. . 3. 1. .. P. .U . B. .L . I.S . H. .I N. .G . .A . .S . E. .R . V. .I C. .E . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2 . 8. .3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.1. WHEN TO PUBLISH A SERVICE 283 31.2. APIS USED TO PUBLISH A SERVICE 283 31.3. PUBLISHING A SERVICE IN A PLAIN JAVA APPLICATION 285 31.4. PUBLISHING A SERVICE IN AN OSGI CONTAINER 287 .C .H . A. . P. T. .E . R. . 3. 2. .. .B . A. .S . I.C . .D . A. .T . A. . B. .I .N . D. .I N. .G . .C . O. .N . C. .E . P. .T .S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2 . 9. .0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32.1. INCLUDING AND IMPORTING SCHEMA DEFINITIONS 290 32.2. XML NAMESPACE MAPPING 292 32.3. THE OBJECT FACTORY 294 32.4. ADDING CLASSES TO THE RUNTIME MARSHALLER 295 .C .H . A. . P. T. .E . R. . 3. 3. .. .U . S. .I N. .G . .X . M. . L. .E . L. E. .M . .E .N . .T .S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2. 9. .7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . OVERVIEW 297 4 Table of Contents XML SCHEMA MAPPING 297 JAVA MAPPING OF ELEMENTS WITH A NAMED TYPE 299 USING ELEMENTS WITH NAMED TYPES IN WSDL 300 JAVA MAPPING OF ELEMENTS WITH AN IN-LINE TYPE 301 JAVA MAPPING OF ABSTRACT ELEMENTS 301 JAVA MAPPING OF ELEMENTS WITH A DEFAULT VALUE 301 .C .H . A. . P. T. .E . R. . 3. 4. .. .U . S. .I N. . G. . S . I. M. .P . L. E. . T. .Y . P. .E .S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3 . 0. .3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34.1. PRIMITIVE TYPES 303 34.2. SIMPLE TYPES DEFINED BY RESTRICTION 305 34.3. ENUMERATIONS 308 34.4. LISTS 310 34.5. UNIONS 313 34.6. SIMPLE TYPE SUBSTITUTION 314 .C .H . A. . P. T. .E . R. . 3. 5. .. .U . S. .I N. .G . .C . O. .M . .P . L. E. .X . .T .Y . .P .E . S. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3 .1 .6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35.1. BASIC COMPLEX TYPE MAPPING 316 35.2. ATTRIBUTES 320 35.3. DERIVING COMPLEX TYPES FROM SIMPLE TYPES 325 35.4. DERIVING COMPLEX TYPES FROM COMPLEX TYPES 327 35.5. OCCURRENCE CONSTRAINTS 330 35.6. USING MODEL GROUPS 336 .C .H . A. . P. T. .E . R. . 3. 6. .. .U . S. .I N. .G . .W . .I L. .D . .C . A. .R . D. . T. .Y . P. .E .S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3 . 4. .0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36.1. USING ANY ELEMENTS 340 36.2. USING THE XML SCHEMA ANYTYPE TYPE 344 36.3. USING UNBOUND ATTRIBUTES 346 .C .H . A. . P. T. .E . R. . 3. 7. .. .E .L . E. .M . E. .N . T. . S. U. . B. .S .T . I.T . U. .T . I.O . N. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3 . 4. .9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37.1. SUBSTITUTION GROUPS IN XML SCHEMA 349 37.2. SUBSTITUTION GROUPS IN JAVA 351 37.3. WIDGET VENDOR EXAMPLE 357 .C .H . A. . P. T. .E . R. . 3. 8. .. .C . U. .S . T. O. . M. .I Z. .I .N . G. . H. .O . W. . .T .Y . P. .E . S. . A. .R . E. . G. .E .N . E. .R . A. .T . E. .D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3 . 6. .4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38.1. BASICS OF CUSTOMIZING TYPE MAPPINGS 364 38.2. SPECIFYING THE JAVA CLASS OF AN XML SCHEMA PRIMITIVE 366 38.3. GENERATING JAVA CLASSES FOR SIMPLE TYPES 372 38.4. CUSTOMIZING ENUMERATION MAPPING 374 38.5. CUSTOMIZING FIXED VALUE ATTRIBUTE MAPPING 378 38.6. SPECIFYING THE BASE TYPE OF AN ELEMENT OR AN ATTRIBUTE 381 .C .H . A. . P. T. .E . R. . 3. 9. .. .U . S. .I N. .G . .A . .J . A. .X . B. .C . O. .N . T. .E . X. .T . O. .B . .J .E . C. .T . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3 . 8. .4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . OVERVIEW 384 BEST PRACTICES 384 GETTING A JAXBCONTEXT OBJECT USING AN OBJECT FACTORY 384 GETTING A JAXBCONTEXT OBJECT USING PACKAGE NAMES 385 .C .H . A. . P. T. .E . R. . 4. .0 .. . D . .E .V . E. .L . O. .P . I.N . G. . A. .S . Y. .N . C. .H . R. .O . N. .O . U. . S. .A . P. .P . L. .I C. .A . T. .I O. .N . S. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3 . 8. .6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40.1. TYPES OF ASYNCHRONOUS INVOCATION 386 40.2. WSDL FOR ASYNCHRONOUS EXAMPLES 386 40.3. GENERATING THE STUB CODE 387 40.4. IMPLEMENTING AN ASYNCHRONOUS CLIENT WITH THE POLLING APPROACH 391 40.5. IMPLEMENTING AN ASYNCHRONOUS CLIENT WITH THE CALLBACK APPROACH 393 40.6. CATCHING EXCEPTIONS RETURNED FROM A REMOTE SERVICE 396 5 Red Hat JBoss Fuse 6.2 Apache CXF Development Guide .C .H . A. . P. T. .E . R. . 4. .1 .. U. . S. I. N. .G . .R . A. .W . . X. .M . L. . M. .E . S. S. .A . G. .E . S. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3. 9. .9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.1. USING XML IN A CONSUMER 399 41.2. USING XML IN A SERVICE PROVIDER 406 .C .H . A. . P. T. .E . R. . 4. .2 .. .W . .O . R. .K . I. N. .G . .W . I. T. .H . .C .O . .N . T. E. .X . T. .S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4. .1 .4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42.1. UNDERSTANDING CONTEXTS 414 42.2. WORKING WITH CONTEXTS IN A SERVICE IMPLEMENTATION 417 42.3. WORKING WITH CONTEXTS IN A CONSUMER IMPLEMENTATION 423 42.4. WORKING WITH JMS MESSAGE PROPERTIES 427 .C .H . A. . P. T. .E . R. . 4. .3 .. .W . .R . I.T . I.N . .G . H. . A. .N . D. .L .E . R. .S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4 . 3. .4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43.1. HANDLERS: AN INTRODUCTION 434 43.2. IMPLEMENTING A LOGICAL HANDLER 437 43.3. HANDLING MESSAGES IN A LOGICAL HANDLER 437 43.4. IMPLEMENTING A PROTOCOL HANDLER 443 43.5. HANDLING MESSAGES IN A SOAP HANDLER 444 43.6. INITIALIZING A HANDLER 448 43.7. HANDLING FAULT MESSAGES 448 43.8. CLOSING A HANDLER 449 43.9. RELEASING A HANDLER 450 43.10. CONFIGURING ENDPOINTS TO USE HANDLERS 450 .A . P. .P .E . N. .D . I. X. . E. .. M. . A. .V . E. .N . .T . O. .O . L. I. N. .G . .R . E. .F .E . R. .E . N. .C . E. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4 . 5. .6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E.1. PLUG-IN SETUP 456 E.2. CXF-CODEGEN-PLUGIN 457 E.3. JAVA2WS 462 .P .A . .R . T. .V . I. .. D. .E .V . E. .L . O. .P . I.N . G. . R. .E . S. .T .F . U. .L . W. . E. .B . .S .E . R. .V . I. C. E. .S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4 . 6. .4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .C .H . A. . P. T. .E . R. . 4. .4 .. .I .N . T. .R . O. .D . U. .C . T. .I O. .N . .T . O. . R. .E . S. T. .F . U. .L . W. . E. .B . .S .E . R. .V . I.C . E. .S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4 . 6. .5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . OVERVIEW 465 BASIC REST PRINCIPLES 465 RESOURCES 466 REST BEST PRACTICES 466 DESIGNING A RESTFUL WEB SERVICE 466 IMPLEMENTING REST WITH APACHE CXF 467 DATA BINDINGS 467 .C .H . A. . P. T. .E . R. . 4. .5 .. .C . R. .E . A. .T . I.N . G. . R. .E . S. .O . U. .R . C. .E .S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4 . 6. .8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45.1. INTRODUCTION 468 45.2. BASIC JAX-RS ANNOTATIONS 469 45.3. ROOT RESOURCE CLASSES 470 45.4. WORKING WITH RESOURCE METHODS 472 45.5. WORKING WITH SUB-RESOURCES 474 45.6. RESOURCE SELECTION METHOD 477 .C .H . A. . P. T. .E . R. . 4. .6 .. .P . A. .S . S. .I N. .G . .I .N . F. O. .R . M. . A. .T . I.O . N. . I. N. .T . O. . R. .E .S . O. .U . R. .C . E. . C. .L .A . S. .S . E. .S . A. .N . .D . .M . E. .T . H. .O . D. .S . . . . . . . . . . . . . . . . . . . . . . . 4. .8 . 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46.1. BASICS OF INJECTING DATA 481 46.2. USING JAX-RS APIS 481 46.3. PARAMETER CONVERTERS 492 46.4. USING APACHE CXF EXTENSIONS 496 .C .H . A. . P. T. .E . R. . 4. .7 .. .R . E. .T .U . .R . N. .I N. .G . .I .N . F. O. .R . M. . A. .T . I.O . N. . T. .O . .T . H. .E . .C . O. .N . S. .U . M. .E . R. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4 . 9. .8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47.1. RETURN TYPES 498 47.2. RETURNING PLAIN JAVA CONSTRUCTS 498 6
Description: