Skip to navigation Skip to main content

Utilities

  • Subscriptions
  • Downloads
  • Containers
  • Support Cases
Red Hat Customer Portal
  • Subscriptions
  • Downloads
  • Containers
  • Support Cases
  • Products & Services

    Products

    Support

    • Production Support
    • Development Support
    • Product Life Cycles

    Services

    • Consulting
    • Technical Account Management
    • Training & Certifications

    Documentation

    • Red Hat Enterprise Linux
    • Red Hat JBoss Enterprise Application Platform
    • Red Hat OpenStack Platform
    • Red Hat OpenShift Container Platform
    All Documentation

    Ecosystem Catalog

    • Red Hat Partner Ecosystem
    • Partner Resources
  • Tools

    Tools

    • Troubleshoot a product issue
    • Packages
    • Errata

    Customer Portal Labs

    • Configuration
    • Deployment
    • Security
    • Troubleshoot
    All labs

    Red Hat Insights

    Increase visibility into IT operations to detect and resolve technical issues before they impact your business.

    Learn More
    Go to Insights
  • Security

    Red Hat Product Security Center

    Engage with our Red Hat Product Security team, access security updates, and ensure your environments are not exposed to any known security vulnerabilities.

    Product Security Center

    Security Updates

    • Security Advisories
    • Red Hat CVE Database
    • Security Labs

    Keep your systems secure with Red Hat's specialized responses to security vulnerabilities.

    View Responses

    Resources

    • Security Blog
    • Security Measurement
    • Severity Ratings
    • Backporting Policies
    • Product Signing (GPG) Keys
  • Community

    Customer Portal Community

    • Discussions
    • Private Groups
    Community Activity

    Customer Events

    • Red Hat Convergence
    • Red Hat Summit

    Stories

    • Red Hat Subscription Value
    • You Asked. We Acted.
    • Open Source Communities
Or troubleshoot an issue.

Select Your Language

  • English
  • 한국어
  • 日本語
  • 中文 (中国)

Infrastructure and Management

  • Red Hat Enterprise Linux
  • Red Hat Satellite
  • Red Hat Subscription Management
  • Red Hat Insights
  • Red Hat Ansible Automation Platform

Cloud Computing

  • Red Hat OpenShift
  • Red Hat OpenStack Platform
  • Red Hat OpenShift Container Platform
  • Red Hat OpenShift Data Science
  • Red Hat OpenShift Dedicated
  • Red Hat Advanced Cluster Security for Kubernetes
  • Red Hat Advanced Cluster Management for Kubernetes
  • Red Hat Quay
  • OpenShift Dev Spaces
  • Red Hat OpenShift Service on AWS

Storage

  • Red Hat Gluster Storage
  • Red Hat Hyperconverged Infrastructure
  • Red Hat Ceph Storage
  • Red Hat OpenShift Data Foundation

Runtimes

  • Red Hat Runtimes
  • Red Hat JBoss Enterprise Application Platform
  • Red Hat Data Grid
  • Red Hat JBoss Web Server
  • Red Hat Single Sign On
  • Red Hat support for Spring Boot
  • Red Hat build of Node.js
  • Red Hat build of Quarkus

Integration and Automation

  • Red Hat Application Foundations
  • Red Hat Fuse
  • Red Hat AMQ
  • Red Hat 3scale API Management
All Products

Table of contents

  1. Apache CXF Development Guide
  2. Making open source more inclusive
  3. I. Writing WSDL Contracts
    1. 1. Introducing WSDL Contracts
      1. 1.1. Structure of a WSDL document
      2. 1.2. WSDL elements
      3. 1.3. Designing a contract
    2. 2. Defining Logical Data Units
      1. 2.1. Introduction to Logical Data Units
      2. 2.2. Mapping data into logical data units
      3. 2.3. Adding data units to a contract
      4. 2.4. XML Schema simple types
      5. 2.5. Defining complex data types
        1. 2.5.1. Defining data structures
        2. 2.5.2. Defining arrays
        3. 2.5.3. Defining types by extension
        4. 2.5.4. Defining types by restriction
        5. 2.5.5. Defining enumerated types
      6. 2.6. Defining elements
    3. 3. Defining Logical Messages Used by a Service
    4. 4. Defining Your Logical Interfaces
  4. II. Web Services Bindings
    1. 5. Understanding Bindings in WSDL
    2. 6. Using SOAP 1.1 Messages
      1. 6.1. Adding a SOAP 1.1 Binding
      2. 6.2. Adding SOAP Headers to a SOAP 1.1 Binding
    3. 7. Using SOAP 1.2 Messages
      1. 7.1. Adding a SOAP 1.2 Binding to a WSDL Document
      2. 7.2. Adding Headers to a SOAP 1.2 Message
    4. 8. Sending Binary Data Using SOAP with Attachments
    5. 9. Sending Binary Data with SOAP MTOM
      1. 9.1. Overview of MTOM
      2. 9.2. Annotating Data Types to use MTOM
      3. 9.3. Enabling MTOM
        1. 9.3.1. Using JAX-WS APIs
        2. 9.3.2. Using configuration
    6. 10. Using XML Documents
  5. III. Web Services Transports
    1. 11. Understanding How Endpoints are Defined in WSDL
    2. 12. Using HTTP
      1. 12.1. Adding a Basic HTTP Endpoint
      2. 12.2. Configuring a Consumer
        1. 12.2.1. Mechanisms for HTTP Consumer Endpoints
        2. 12.2.2. Using Configuration
        3. 12.2.3. Using WSDL
        4. 12.2.4. Consumer Cache Control Directives
      3. 12.3. Configuring a Service Provider
        1. 12.3.1. Mechanisms for a HTTP Service Provider
        2. 12.3.2. Using Configuration
        3. 12.3.3. Using WSDL
        4. 12.3.4. Service Provider Cache Control Directives
      4. 12.4. Configuring the Undertow Runtime
      5. 12.5. Configuring the Netty Runtime
      6. 12.6. Using the HTTP Transport in Decoupled Mode
    3. 13. Using SOAP Over JMS
      1. 13.1. Basic configuration
      2. 13.2. JMS URIs
      3. 13.3. WSDL extensions
    4. 14. Using Generic JMS
      1. 14.1. Approaches to Configuring JMS
      2. 14.2. Using the JMS configuration bean
      3. 14.3. Optimizing Client-Side JMS Performance
      4. 14.4. Configuring JMS Transactions
      5. 14.5. Using WSDL to configure JMS
        1. 14.5.1. JMS WSDL Extension Namespance
        2. 14.5.2. Basic JMS configuration
        3. 14.5.3. JMS client configuration
        4. 14.5.4. JMS provider configuration
      6. 14.6. Using a Named Reply Destination
    5. 15. Integrating with Apache ActiveMQ
    6. 16. Conduits
  6. IV. Configuring Web Service Endpoints
    1. 17. Configuring JAX-WS Endpoints
      1. 17.1. Configuring Service Providers
        1. 17.1.1. Elements for Configuring Service Providers
        2. 17.1.2. Using the jaxws:endpoint Element
        3. 17.1.3. Using the jaxws:server Element
        4. 17.1.4. Adding Functionality to Service Providers
        5. 17.1.5. Enable Schema Validation on a JAX-WS Endpoint
      2. 17.2. Configuring Consumer Endpoints
    2. 18. Configuring JAX-RS Endpoints
      1. 18.1. Configuring JAX-RS Server Endpoints
        1. 18.1.1. Defining a JAX-RS Server Endpoint
        2. 18.1.2. jaxrs:server Attributes
        3. 18.1.3. jaxrs:server Child Elements
      2. 18.2. Configuring JAX-RS Client Endpoints
        1. 18.2.1. Defining a JAX-RS Client Endpoint
        2. 18.2.2. jaxrs:client Attributes
        3. 18.2.3. jaxrs:client Child Elements
      3. 18.3. Defining REST Services with the Model Schema
    3. 19. Apache CXF Logging
      1. 19.1. Overview of Apache CXF Logging
      2. 19.2. Simple Example of Using Logging
      3. 19.3. Default logging configuration file
        1. 19.3.1. Overview of Logging Configuration
        2. 19.3.2. Configuring Logging Output
        3. 19.3.3. Configuring Logging Levels
      4. 19.4. Enabling Logging at the Command Line
      5. 19.5. Logging for Subsystems and Services
      6. 19.6. Logging Message Content
    4. 20. Deploying WS-Addressing
      1. 20.1. Introduction to WS-Addressing
      2. 20.2. WS-Addressing Interceptors
      3. 20.3. Enabling WS-Addressing
      4. 20.4. Configuring WS-Addressing Attributes
    5. 21. Enabling Reliable Messaging
      1. 21.1. Introduction to WS-RM
      2. 21.2. WS-RM Interceptors
      3. 21.3. Enabling WS-RM
      4. 21.4. Runtime Control
      5. 21.5. Configuring WS-RM
        1. 21.5.1. Configuring Apache CXF-Specific WS-RM Attributes
        2. 21.5.2. Configuring Standard WS-RM Policy Attributes
        3. 21.5.3. WS-RM Configuration Use Cases
      6. 21.6. Configuring WS-RM Persistence
    6. 22. Enabling High Availability
      1. 22.1. Introduction to High Availability
      2. 22.2. Enabling HA with Static Failover
      3. 22.3. Configuring HA with Static Failover
    7. 23. Apache CXF Binding IDs
    8. A. Using the Maven OSGi Tooling
      1. A.1. The Maven Bundle Plug-In
      2. A.2. Setting up a Red Hat Fuse OSGi project
      3. A.3. Configuring the Bundle Plug-In
  7. V. Developing Applications Using JAX-WS
    1. 24. Bottom-Up Service Development
      1. 24.1. Introduction to JAX-WS Service Development
      2. 24.2. Creating the SEI
      3. 24.3. Annotating the Code
        1. 24.3.1. Overview of JAX-WS Annotations
        2. 24.3.2. Required Annotations
        3. 24.3.3. Optional Annotations
        4. 24.3.4. Apache CXF Annotations
          1. 24.3.4.1. WSDL Documentation
          2. 24.3.4.2. @WSDLDocumentation properties
          3. 24.3.4.3. Using @WSDLDocumentation
          4. 24.3.4.4. WSDL generated with documentation
          5. 24.3.4.5. Using @WSDLDocumentationCollection
          6. 24.3.4.6. Schema Validation of Messages
          7. 24.3.4.7. Schema Validation Type Values
          8. 24.3.4.8. Specifying the Data Binding
          9. 24.3.4.9. Setting the data binding
          10. 24.3.4.10. Compressing Messages
          11. 24.3.4.11. @GZIP Properties
          12. 24.3.4.12. @FastInfoset Properties
          13. 24.3.4.13. Enabling GZIP
          14. 24.3.4.14. Enabling FastInfoset
          15. 24.3.4.15. Enable Logging on an Endpoint
          16. 24.3.4.16. @Logging Properties
          17. 24.3.4.17. Logging configuration using annotations
          18. 24.3.4.18. Adding Properties and Policies to an Endpoint
          19. 24.3.4.19. Adding properties
          20. 24.3.4.20. Configuring WS-Security Using @EndpointProperty Annotations
          21. 24.3.4.21. Configuring WS-Security Using an @EndpointProperties Annotation
          22. 24.3.4.22. Adding policies
          23. 24.3.4.23. @Policy Properties
      4. 24.4. Generating WSDL
    2. 25. Developing a Consumer Without a WSDL Contract
      1. 25.1. Java-First Consumer Development
      2. 25.2. Creating a Service Object
      3. 25.3. Adding a Port to a Service
      4. 25.4. Getting a Proxy for an Endpoint
      5. 25.5. Implementing the Consumer’s Business Logic
    3. 26. A Starting Point WSDL Contract
      1. 26.1. Sample WSDL Contract
    4. 27. Top-Down Service Development
      1. 27.1. Overview of JAX-WS Service Provider Development
      2. 27.2. Generating the Starting Point Code
      3. 27.3. Implementing the Service Provider
    5. 28. Developing a Consumer From a WSDL Contract
      1. 28.1. Generating the Stub Code
      2. 28.2. Implementing a Consumer
    6. 29. Finding WSDL at Runtime
      1. 29.1. Mechanisms for Locating the WSDL Document
      2. 29.2. Instantiating a Proxy by Injection
      3. 29.3. Using a JAX-WS Catalog
      4. 29.4. Using a contract resolver
    7. 30. Generic Fault Handling
      1. 30.1. Runtime Faults
      2. 30.2. Protocol Faults
    8. 31. Publishing a Service
      1. 31.1. When to Publish a Service
      2. 31.2. APIs Used to Publish a Service
      3. 31.3. Publishing a Service in a Plain Java Application
      4. 31.4. Publishing a Service in an OSGi Container
    9. 32. Basic Data Binding Concepts
      1. 32.1. Including and Importing Schema Definitions
      2. 32.2. XML Namespace Mapping
      3. 32.3. The Object Factory
      4. 32.4. Adding Classes to the Runtime Marshaller
    10. 33. Using XML Elements
    11. 34. Using Simple Types
      1. 34.1. Primitive Types
      2. 34.2. Simple Types Defined by Restriction
      3. 34.3. Enumerations
      4. 34.4. Lists
      5. 34.5. Unions
      6. 34.6. Simple Type Substitution
    12. 35. Using Complex Types
      1. 35.1. Basic Complex Type Mapping
      2. 35.2. Attributes
      3. 35.3. Deriving Complex Types from Simple Types
      4. 35.4. Deriving Complex Types from Complex Types
      5. 35.5. Occurrence Constraints
        1. 35.5.1. Schema Elements Supporting Occurrence Constraints
        2. 35.5.2. Occurrence Constraints on the All Element
        3. 35.5.3. Occurrence Constraints on the Choice Element
        4. 35.5.4. Occurrence Constraints on Elements
        5. 35.5.5. Occurrence Constraints on Sequences
      6. 35.6. Using Model Groups
    13. 36. Using Wild Card Types
      1. 36.1. Using Any Elements
      2. 36.2. Using the XML Schema anyType Type
      3. 36.3. Using Unbound Attributes
    14. 37. Element Substitution
      1. 37.1. Substitution Groups in XML Schema
      2. 37.2. Substitution Groups in Java
      3. 37.3. Widget Vendor Example
        1. 37.3.1. Widget Ordering Interface
        2. 37.3.2. The checkWidgets Operation
        3. 37.3.3. The placeWidgetOrder Operation
    15. 38. Customizing How Types are Generated
      1. 38.1. Basics of Customizing Type Mappings
      2. 38.2. Specifying the Java Class of an XML Schema Primitive
      3. 38.3. Generating Java Classes for Simple Types
      4. 38.4. Customizing Enumeration Mapping
      5. 38.5. Customizing Fixed Value Attribute Mapping
      6. 38.6. Specifying the Base Type of an Element or an Attribute
    16. 39. Using A JAXBContext Object
    17. 40. Developing Asynchronous Applications
      1. 40.1. Types of Asynchronous Invocation
      2. 40.2. WSDL for Asynchronous Examples
      3. 40.3. Generating the Stub Code
      4. 40.4. Implementing an Asynchronous Client with the Polling Approach
      5. 40.5. Implementing an Asynchronous Client with the Callback Approach
      6. 40.6. Catching Exceptions Returned from a Remote Service
    18. 41. Using Raw XML Messages
      1. 41.1. Using XML in a Consumer
        1. 41.1.1. Usage Modes
        2. 41.1.2. Data Types
        3. 41.1.3. Working with Dispatch Objects
      2. 41.2. Using XML in a Service Provider
        1. 41.2.1. Messaging Modes
        2. 41.2.2. Data Types
        3. 41.2.3. Implementing a Provider Object
    19. 42. Working with Contexts
      1. 42.1. Understanding Contexts
      2. 42.2. Working with Contexts in a Service Implementation
      3. 42.3. Working with Contexts in a Consumer Implementation
      4. 42.4. Working with JMS Message Properties
        1. 42.4.1. Inspecting JMS Message Headers
        2. 42.4.2. Inspecting the Message Header Properties
        3. 42.4.3. Setting JMS Properties
    20. 43. Writing Handlers
      1. 43.1. Handlers: An Introduction
      2. 43.2. Implementing a Logical Handler
      3. 43.3. Handling Messages in a Logical Handler
      4. 43.4. Implementing a Protocol Handler
      5. 43.5. Handling Messages in a SOAP Handler
      6. 43.6. Initializing a Handler
      7. 43.7. Handling Fault Messages
      8. 43.8. Closing a Handler
      9. 43.9. Releasing a Handler
      10. 43.10. Configuring Endpoints to Use Handlers
        1. 43.10.1. Programmatic Configuration
          1. 43.10.1.1. Adding a Handler Chain to a Consumer
          2. 43.10.1.2. Adding a Handler Chain to a Service Provider
        2. 43.10.2. Spring Configuration
    21. 44. Maven Tooling Reference
      1. 44.1. Plug-in Setup
      2. 44.2. cxf-codegen-plugin
      3. 44.3. java2ws
  8. VI. Developing RESTful Web Services
    1. 45. Introduction to RESTful Web Services
    2. 46. Creating Resources
      1. 46.1. Introduction
      2. 46.2. Basic JAX-RS annotations
      3. 46.3. Root resource classes
      4. 46.4. Working with resource methods
      5. 46.5. Working with sub-resources
      6. 46.6. Resource selection method
    3. 47. Passing Information into Resource Classes and Methods
      1. 47.1. Basics of injecting data
      2. 47.2. Using JAX-RS APIs
        1. 47.2.1. JAX-RS Annotation Types
        2. 47.2.2. Injecting data from a request URI
        3. 47.2.3. Injecting data from the HTTP message header
        4. 47.2.4. Injecting data from HTML forms
        5. 47.2.5. Specifying a default value to inject
        6. 47.2.6. Injecting Parameters into a Java Bean
      3. 47.3. Parameter Converters
      4. 47.4. Using Apache CXF extensions
    4. 48. Returning Information to the Consumer
      1. 48.1. Return Types
      2. 48.2. Returning plain Java constructs
      3. 48.3. Fine tuning an application’s responses
        1. 48.3.1. Basics of building responses
        2. 48.3.2. Creating responses for common use cases
        3. 48.3.3. Handling more advanced responses
      4. 48.4. Returning entities with generic type information
      5. 48.5. Asynchronous Response
        1. 48.5.1. Asynchronous Processing on the Server
        2. 48.5.2. Timeouts and Timeout Handlers
        3. 48.5.3. Handling Dropped Connections
        4. 48.5.4. Registering Callbacks
    5. 49. JAX-RS 2.0 Client API
      1. 49.1. Introduction to the JAX-RS 2.0 Client API
      2. 49.2. Building the Client Target
      3. 49.3. Building the Client Invocation
      4. 49.4. Parsing Requests and Responses
      5. 49.5. Configuring the Client Endpoint
      6. 49.6. Asynchronous Processing on the Client
    6. 50. Handling Exceptions
      1. 50.1. Overview of JAX-RS Exception Classes
      2. 50.2. Using WebApplicationException exceptions to report
      3. 50.3. JAX-RS 2.0 Exception Types
      4. 50.4. Mapping Exceptions to Responses
    7. 51. Entity Support
    8. 52. Getting and Using Context Information
      1. 52.1. Introduction to contexts
      2. 52.2. Working with the full request URI
        1. 52.2.1. Injecting the URI information
        2. 52.2.2. Working with the URI
        3. 52.2.3. Getting the value of URI template variables
    9. 53. Annotation Inheritance
    10. 54. Extending JAX-RS Endpoints with OpenAPI Support
      1. 54.1. OpenApiFeature options
      2. 54.2. Karaf Implementations
        1. 54.2.1. Quickstart example
        2. 54.2.2. Enabling OpenAPI
      3. 54.3. Spring Boot Implementations
        1. 54.3.1. Quickstart example
        2. 54.3.2. Enabling Swagger
      4. 54.4. Accessing OpenAPI Documents
      5. 54.5. Accessing OpenAPI through a reverse proxy
  9. VII. Developing Apache CXF Interceptors
    1. 55. Interceptors in the Apache CXF Runtime
    2. 56. The Interceptor APIs
    3. 57. Determining When the Interceptor is Invoked
      1. 57.1. Specifying the Interceptor Location
      2. 57.2. Specifying an interceptor’s phase
      3. 57.3. Constraining an interceptors placement in a phase
    4. 58. Implementing the Interceptors Processing Logic
      1. 58.1. Interceptor Flow
      2. 58.2. Processing messages
      3. 58.3. Unwinding after an error
    5. 59. Configuring Endpoints to Use Interceptors
      1. 59.1. Deciding where to attach interceptors
      2. 59.2. Adding interceptors using configuration
      3. 59.3. Adding interceptors programmatically
        1. 59.3.1. Approaches to Adding Interceptors
        2. 59.3.2. Using the interceptor provider API
        3. 59.3.3. Using Java annotations
    6. 60. Manipulating Interceptor Chains on the Fly
    7. 61. JAX-RS 2.0 Filters and Interceptors
      1. 61.1. Introduction to JAX-RS Filters and Interceptors
      2. 61.2. Container Request Filter
      3. 61.3. Container Response Filter
      4. 61.4. Client Request Filter
      5. 61.5. Client Response Filter
      6. 61.6. Entity Reader Interceptor
      7. 61.7. Entity Writer Interceptor
      8. 61.8. Dynamic Binding
    8. 62. Apache CXF Message Processing Phases
    9. 63. Apache CXF Provided Interceptors
      1. 63.1. Core Apache CXF Interceptors
      2. 63.2. Front-Ends
      3. 63.3. Message bindings
      4. 63.4. Other features
    10. 64. Interceptor Providers
  10. VIII. Apache CXF Features
    1. 65. Bean Validation
      1. 65.1. Introduction
      2. 65.2. Developing Services with Bean Validation
        1. 65.2.1. Annotating a Service Bean
        2. 65.2.2. Standard Annotations
        3. 65.2.3. Custom Annotations
      3. 65.3. Configuring Bean Validation
        1. 65.3.1. JAX-WS Configuration
        2. 65.3.2. JAX-RS Configuration
        3. 65.3.3. JAX-RS 2.0 Configuration
  11. Legal Notice

Chapter 23. Apache CXF Binding IDs

Table of Binding IDs

Table 23.1. Binding IDs for Message Bindings

BindingID

CORBA

http://cxf.apache.org/bindings/corba

HTTP/REST

http://apache.org/cxf/binding/http

SOAP 1.1

http://schemas.xmlsoap.org/wsdl/soap/http

SOAP 1.1 w/ MTOM

http://schemas.xmlsoap.org/wsdl/soap/http?mtom=true

SOAP 1.2

http://www.w3.org/2003/05/soap/bindings/HTTP/

SOAP 1.2 w/ MTOM

http://www.w3.org/2003/05/soap/bindings/HTTP/?mtom=true

XML

http://cxf.apache.org/bindings/xformat

  1. Previous
  2. Next
Red Hat

Quick Links

  • Downloads
  • Subscriptions
  • Support Cases
  • Customer Service
  • Product Documentation

Help

  • Contact Us
  • Customer Portal FAQ
  • Log-in Assistance

Site Info

  • Trust Red Hat
  • Browser Support Policy
  • Accessibility
  • Awards and Recognition
  • Colophon

Related Sites

  • redhat.com
  • developers.redhat.com
  • connect.redhat.com
  • cloud.redhat.com

About

  • Red Hat Subscription Value
  • About Red Hat
  • Red Hat Jobs
Copyright © 2023 Red Hat, Inc.
  • Privacy Statement
  • Terms of Use
  • All Policies and Guidelines
We've updated our Privacy Policy effective July 1st, 2023.
Red Hat Summit Red Hat Summit
Twitter