IBM Support

PK96816: New JAX-WS properties to allow faster access to SOAPHeader elements.

Subscribe

You can track all active APARs for this component.

APAR status

  • Closed as program error.

Error description

  • The JAX-WS programming model allows a developer to access the
    SOAPHeader elements of a SOAPMessage from within a JAX-WS
    application handler.  However the specification APIs are too
    slow for some customer sceanrios.
    
    New IBM specific JAX-WS APIs are introduced.  These new APIs
    will allow the developer faster access of the SOAPHeader
    elements.
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:  IBM WebSphere Application Server V7.0       *
    *                  developers of JAX-WS application handlers   *
    ****************************************************************
    * PROBLEM DESCRIPTION: Alternative API for retrieving SOAP     *
    *                      headers in a JAX-WS handler to improve  *
    *                      performance                             *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    After installing this APAR, you JAX-WS handlers may directly
    access and manipulate the SOAPHeader elements of the
    SOAPMessage. The headers of the inbound message and outbound
    message are accessed via the following new properties:
      "jaxws.binding.soap.headers.inbound"
      "jaxws.binding.soap.headers.outbound"
    
    The following example indicates how the headers are accessed
    from a JAX-WS SOAP handler:
    
    // 1) The MessageContext is passed as a parameter to the
    SOAPHandler method
    
    // 2) The Map of headers is retrieved from the MessageContext
    // The Map key is the QName of the header
    // The Map value is a list of Strings.  Each String is a
    // textural representation of one header.
    
    Map<QName, List<String>> requestHeaders =
      (Map<QName, List<String>>)
         messagecontext.get("jaxws.binding.soap.headers.outbound");
    
    // 3) Example code for retrieving a specific header
    QName myQName = new QName("urn:/sample", "myHeader");
    List<String> myHeaders = requestHeaders.get(myQName);
    ...
    
    // 4) If a new headers map is created, it must be set on the
    //    MessageContext
    messagecontext.put(
       "jaxws.binding.soap.headers.outbound",
        requestHeaders);
    
    
    Accessing the SOAPHeader elements with this new API may be
    more performant than accessing the SOAPHeader elements using
    the JAX-WS specification APIs.  (The JAX-WS specification
    provides access to the headers via SAAJ objects.)
    
    More information about these new properties is available in
    the WebSphere Application Server Information Center.
    

Problem conclusion

  • The JAX-WS specification provides access to the SOAP message
    via SAAJ objects.  Accessing and manipulating these objects
    can be slow because they require transformations of internal
    message representations.  The new properties are introduced to
    allows customers faster access.
    
    APAR PK84170 corrects this same problem for the WebSphere
    Application Server Feature Pack for Web Services.
    
    The fix for this APAR is currently targeted for inclusion in
    fix pack 7.0.0.5.  Please refer to the Recommended Updates
    page for delivery information:
    http://www.ibm.com/support/docview.wss?rs=180&uid=swg27004980
    

Temporary fix

Comments

APAR Information

  • APAR number

    PK96816

  • Reported component name

    WEBSPHERE APP S

  • Reported component ID

    5724J0800

  • Reported release

    700

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2009-09-22

  • Closed date

    2009-09-23

  • Last modified date

    2009-09-23

  • APAR is sysrouted FROM one or more of the following:

    PK84170

  • APAR is sysrouted TO one or more of the following:

Fix information

  • Fixed component name

    WEBSPHERE APP S

  • Fixed component ID

    5724J0800

Applicable component levels

  • R700 PSY

       UP



Document information

More support for: WebSphere Application Server
General

Software version: 7.0

Reference #: PK96816

Modified date: 23 September 2009


Translate this page: