IBM Support

PM44824: A JAVAX.XML.BIND.UNMARSHALEXCEPTION MIGHT OCCUR WHEN INBOUND SOAP MESSAGES ARE DEMARSHALLED.

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • When JAX-WS applications are running over a long period
    of time, a javax.xml.bind.UnmarshalException
    might occur when inbound SOAP messages are demarshalled.
    
    For example:
    
    [11/07/25 22:54:30:768 JST] 00000021 ExceptionFact 1
    org.apache.axis2.jaxws.ExceptionFactory logRootCause Root
    Cause:javax.xml.bind.UnmarshalException
     - with linked exception:
    [javax.xml.bind.UnmarshalException: unexpected element
    (uri:".......customer info ............................",
    local:"execute"). Expected elements are ...
     at
    com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerIm
    pl.handleStreamException(UnmarshallerImpl.java:445)
     at
    com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerIm
    pl.unmarshal0(UnmarshallerImpl.java:370)
     at
    com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerIm
    pl.unmarshal(UnmarshallerImpl.java:340)
     at
    com.ibm.xml.xlxp2.jaxb.unmarshal.UnmarshallerImpl.unmarshal(Unma
    rshallerImpl.java:289)
     at
    org.apache.axis2.datasource.jaxb.JAXBDSContext$7.run(JAXBDSConte
    xt.java:1063)
     at
    org.apache.axis2.java.security.AccessController.doPrivileged(Acc
    essController.java:76)
     at
    org.apache.axis2.datasource.jaxb.JAXBDSContext.unmarshalByElemen
    t(JAXBDSContext.java:1060)
     at
    org.apache.axis2.datasource.jaxb.JAXBDSContext.unmarshal(JAXBDSC
    ontext.java:326)
     at
    org.apache.axis2.jaxws.message.databinding.impl.JAXBBlockImpl._g
    etBOFromReader(JAXBBlockImpl.java:96)
     at
    org.apache.axis2.jaxws.message.impl.BlockImpl._getBOFromOM(Block
    Impl.java:477)
     at
    org.apache.axis2.jaxws.message.databinding.impl.JAXBBlockImpl._g
    etBOFromOM(JAXBBlockImpl.java:136)
     at
    org.apache.axis2.jaxws.message.impl.BlockImpl.getBusinessObject(
    BlockImpl.java:149)
     at
    org.apache.axis2.jaxws.message.impl.XMLSpineImpl._getBlockFromOM
    Element(XMLSpineImpl.java:620)
     at
    org.apache.axis2.jaxws.message.impl.XMLSpineImpl.getBodyBlock(XM
    LSpineImpl.java:357)
     at
    org.apache.axis2.jaxws.message.impl.XMLPartBase.getBodyBlock(XML
    PartBase.java:521)
     at
    org.apache.axis2.jaxws.message.impl.MessageImpl.getBodyBlock(Mes
    sageImpl.java:670)
     at
    org.apache.axis2.jaxws.marshaller.impl.alt.DocLitWrappedMethodMa
    rshaller.demarshalRequest(DocLitWrappedMethodMarshaller.java:255
    )
    ...
    
    This is due to the wrong javax.xml.bind.Unmarshaller object
    used to unmarshall the message.
    

Local fix

  • Local Fix/Work Around:
    
    No work around is available
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED:  Users of IBM WebSphere Application Server   *
    *                  Feature Pack for Web Services JAX-WS        *
    *                  applications.                               *
    ****************************************************************
    * PROBLEM DESCRIPTION: A javax.xml.bind.UnmarshalException     *
    *                      might occur when inbound SOAP           *
    *                      messages are demarshalled.              *
    ****************************************************************
    * RECOMMENDATION:  Install a fix pack that includes this       *
    *                  APAR.                                       *
    ****************************************************************
    When JAX-WS clients and services are sent a heavy load of
    messages over a long period of time, a
    javax.xml.bind.UnmarshalException might occur during the
    demarshalling of inbound SOAP messages.
    For example:
     11/07/25 22:54:30:768 JST  00000021 ExceptionFact 1
    org.apache.axis2.jaxws.ExceptionFactory logRootCause Root
    Cause:javax.xml.bind.UnmarshalException
    - with linked exception:
     javax.xml.bind.UnmarshalException: unexpected element
    (uri:"............. customer info .....................",
    local:"execute"). Expected elements are ...
    at
    com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerIm
    pl.handleStreamException(UnmarshallerImpl.java:445)
    at
    com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerIm
    pl.unmarshal0(UnmarshallerImpl.java:370)
    at
    com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerIm
    pl.unmarshal(UnmarshallerImpl.java:340)
    at
    com.ibm.xml.xlxp2.jaxb.unmarshal.UnmarshallerImpl.unmarshal(Unma
    rshallerImpl.java:289)
    at
    org.apache.axis2.datasource.jaxb.JAXBDSContext$7.run(JAXBDSConte
    xt.java:1063)
    at
    org.apache.axis2.java.security.AccessController.doPrivileged(Acc
    essController.java:76)
    at
    org.apache.axis2.datasource.jaxb.JAXBDSContext.unmarshalByElemen
    t(JAXBDSContext.java:1060)
    at
    org.apache.axis2.datasource.jaxb.JAXBDSContext.unmarshal(JAXBDSC
    ontext.java:326)
    at
    org.apache.axis2.jaxws.message.databinding.impl.JAXBBlockImpl._g
    etBOFromReader(JAXBBlockImpl.java:96)
    at
    org.apache.axis2.jaxws.message.impl.BlockImpl._getBOFromOM(Block
    Impl.java:477)
    at
    org.apache.axis2.jaxws.message.databinding.impl.JAXBBlockImpl._g
    etBOFromOM(JAXBBlockImpl.java:136)
    at
    org.apache.axis2.jaxws.message.impl.BlockImpl.getBusinessObject(
    BlockImpl.java:149)
    at
    org.apache.axis2.jaxws.message.impl.XMLSpineImpl._getBlockFromOM
    Element(XMLSpineImpl.java:620)
    at
    org.apache.axis2.jaxws.message.impl.XMLSpineImpl.getBodyBlock(XM
    LSpineImpl.java:357)
    at
    org.apache.axis2.jaxws.message.impl.XMLPartBase.getBodyBlock(XML
    PartBase.java:521)
    at
    org.apache.axis2.jaxws.message.impl.MessageImpl.getBodyBlock(Mes
    sageImpl.java:670)
    at
    org.apache.axis2.jaxws.marshaller.impl.alt.DocLitWrappedMethodMa
    rshaller.demarshalRequest(DocLitWrappedMethodMarshaller.java:255
    )
    ...
    This is due to the wrong javax.xml.bind.Unmarshaller object
    used to unmarshall the message.
    

Problem conclusion

  • For performance reasons, the JAX-WS engine caches Unmarshaller
    objects for re-using later. This APAR corrects a faulty
    algorithm for storing and retrieving Unmarshaller objects.
    
    This same problem is fixed in WebSphere Application Server V7
    under APAR PM44743.
    
    The fix for this APAR is currently targeted for inclusion in
    fix pack 6.1.0.41.  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

    PM44824

  • Reported component name

    WEBSERVIC FEATU

  • Reported component ID

    5724J0850

  • Reported release

    610

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2011-08-01

  • Closed date

    2011-08-31

  • Last modified date

    2012-01-19

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

    PM44743

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

Fix information

  • Fixed component name

    WEBSERVIC FEATU

  • Fixed component ID

    5724J0850

Applicable component levels

  • R610 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.1","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
27 October 2021