IBM Support

PK31416: AN ELEMENT OF TYPE {HTTP://XML.APACHE.ORG/XML-SOAP}DATAHANDLER IS OMITTED FROM THE SOAP MESSAGE

Fixes are available

6.1.0.7: WebSphere Application Server V6.1 Fix Pack 7 for Solaris
6.1.0.7: WebSphere Application Server V6.1 Fix Pack 7 for HP-UX
6.1.0.7: WebSphere Application Server V6.1 Fix Pack 7 for Linux
6.1.0.5: WebSphere Application Server V6.1.0 Fix Pack 5 for Linux
6.1.0.7: WebSphere Application Server V6.1 Fix Pack 7 for Windows
6.1.0.7 WebSphere Application Server V6.1 Fix Pack 7 for AIX
6.1.0.5: WebSphere Application Server V6.1.0 Fix Pack 5 for AIX
6.1.0.5: WebSphere Application Server V6.1.0 Fix Pack 5 for i5/OS
6.1.0.7: WebSphere Application Server V6.1 Fix Pack 7 for i5/OS
6.1.0.5: WebSphere Application Server V6.1.0 Fix Pack 5 for HP-UX
6.1.0.5: WebSphere Application Server V6.1.0 Fix Pack 5 for Windows
Java SDK 1.5 SR8 Cumulative Fix for WebSphere Application Server
Java SDK 1.5 SR8 Cumulative Fix for WebSphere Application Server
Java SDK 1.5 SR10 Cumulative Fix for WebSphere Application Server
6.1.0.31: Java SDK 1.5 SR11 FP1 Cumulative Fix for WebSphere Application Server
6.1.0.33: Java SDK 1.5 SR12 FP1 Cumulative Fix for WebSphere
6.1.0.29: Java SDK 1.5 SR11 Cumulative Fix for WebSphere Application Server
6.1.0.35: Java SDK 1.5 SR12 FP2 Cumulative Fix for WebSphere
6.1.0.37: Java SDK 1.5 SR12 FP3 Cumulative Fix for WebSphere
6.1.0.39: Java SDK 1.5 SR12 FP4 Cumulative Fix for WebSphere Application Server
6.1.0.41: Java SDK 1.5 SR12 FP5 Cumulative Fix for WebSphere Application Server
6.1.0.43: Java SDK 1.5 SR13 Cumulative Fix for WebSphere Application Server
6.1.0.45: Java SDK 1.5 SR14 Cumulative Fix for WebSphere Application Server
6.1.0.47: WebSphere Application Server V6.1 Fix Pack 47
6.1.0.47: Java SDK 1.5 SR16 Cumulative Fix for WebSphere Application Server
6.1.0.5: WebSphere Application Server V6.1.0 Fix Pack 5 for Solaris
6.1.0.9: WebSphere Application Server V6.1 Fix Pack 9 for Solaris

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • A JAX-RPC application can send SOAP messages with attachments
    using the {http://xml.apache.org/xml-soap}DataHandler XML type.
    
    For example, consider the following WSDL:
    
    <schema targetNamespace="http://example.ibm.com/"
    xmlns="http://www.w3.org/2001/XMLSchema"
    xmlns:apachesoap="http://xml.apache.org/xml-soap">
     <element name="attachment" type="AttachmentType"/>
     <complexType name="AttachmentType">
        <sequence>
         <element name="dataHandler" nillable="true"
    type="apachesoap:DataHandler"/>
        </sequence>
    </complexType>
    
    And the WSDL operation message references the "attachment"
    element:
    
       <wsdl:message name="sendAttachmentMessage">
         <wsdl:part element="tns:attachment" name="parameters">
        </wsdl:part>
      </wsdl:message>
    
         <wsdl:operation name="sendAttachment">
           <wsdl:input message="tns:sendAttachmentMessage"
    name="sendAttachmentMessage"/>
          ...
    
    Such an element should appear in the SOAP message; however, the
    JAX-RPC runtime omits this
    {http://xml.apache.org/xml-soap}DataHandler element when it
    serializes the message.
    
    This omission could result in deserialization errors on the
    client or service receiving this message.
    

Local fix

  • If the application sending the "bad" SOAP message is a service
    running on an WebSphere 6 application server, and the client
    is WebSphere 5, the web services engine on the server side can
    be forced to properly serialize attachments with dataHandlers by
    sending a "dummy" attachment in the incoming request message.
    
    This will work because the web services engine is already
    enabled to reply "in kind".
    
    Otherwise, there is no workaround.
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED: WebSphere Application Server version 6 users *
    *                 who have one or more applications using      *
    *                 wsdls that contain the                       *
    *                 {http://xml.apache.org/xml soap}DataHandler  *
    *                 XML type                                     *
    ****************************************************************
    * PROBLEM DESCRIPTION: DataHandler XML type is not properly    *
    *                      serialized                              *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    When the {http://xml.apache.org/xml-soap}DataHandler xml type
    appears in a wsdl, it may not be serialized in the outgoing
    SOAP message.  When the DataHandler is serialized incorrectly,
    the multiRef element for the corresponding attachment will be
    missing its dataHandler element in the outgoing SOAP message.
    A webservices trace on the system receiving the SOAP message
    will show the following message:
    
    com.ibm.ws.webservices.engine.encoding.ser.
    JAFDataHandlerDeserializer
    Deser got type null
    
    Following is an example of an element in a wsdl file that
    would produce the problem:
    
     <complexType name="ImageAttachement">
        <sequence>
         <element name="dataHandler" nillable="true"
    type="apachesoap:DataHandler"/>
        </sequence>
    </complexType>
    

Problem conclusion

  • Using dataHandlers is the Axis-style of serialization.  The
    code was updated so that it could support this explicit use
    of dataHandlers, but it will be controlled with a property.
    
    By default, the serialization of the
    {http://xml.apache.org/xml-soap}DataHandler xml type will
    remain unchanged.  If the
    com.ibm.websphere.webservices.serializeDataHandlerAxisStyle
    property is set to true on the message context, then the
    DataHandler will be serialized in the Axis-style.
    
    This property can be set on a server-wide or client-wide basis
    as a JVM property.  Alternatively, it can be set on an
    app-by-app basis on the server by setting the property on the
    port component binding.  On a client, the property can be set
    on the stub.
    
    This APAR will be included in fixpacks 6.0.2.17 and 6.1.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

    PK31416

  • Reported component name

    WEBSPH APP SERV

  • Reported component ID

    5724J0800

  • Reported release

    60W

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2006-09-14

  • Closed date

    2006-10-05

  • Last modified date

    2010-07-09

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

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

Modules/Macros

  • SERVICES WEB
    

Fix information

  • Fixed component name

    WEBSPH APP SERV

  • Fixed component ID

    5724J0800

Applicable component levels

  • R60A PSY

       UP

  • R60H PSY

       UP

  • R60I PSY

       UP

  • R60P PSY

       UP

  • R60S PSY

       UP

  • R60W PSY

       UP

  • R60Z PSY

       UP

  • R61A PSY

       UP

  • R61H PSY

       UP

  • R61I PSY

       UP

  • R61P PSY

       UP

  • R61S PSY

       UP

  • R61W PSY

       UP

  • R61Z PSY

       UP

[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSEQTP","label":"WebSphere Application Server"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"6.0","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
29 December 2021