IBM Support

PM02079: JAVAX.XML.BIND.UNMARSHALEXCEPTION OCCURS WHILE INVOKING A JAX-WS APPLICATION

Fixes are available

7.0.0.9: WebSphere Application Server V7.0 Fix Pack 9 for IBM i
7.0.0.9: WebSphere Application Server V7.0 Fix Pack 9 for Windows
7.0.0.9: WebSphere Application Server V7.0 Fix Pack 9 for AIX
7.0.0.9: WebSphere Application Server V7.0 Fix Pack 9 for HP-UX
7.0.0.9: Java SDK 1.6 SR7 Cumulative Fix for WebSphere Application Server
7.0.0.9: WebSphere Application Server V7.0 Fix Pack 9 for Solaris
7.0.0.9: WebSphere Application Server V7.0 Fix Pack 9 for Linux
7.0.0.11: WebSphere Application Server V7.0 Fix Pack 11 for IBM i
7.0.0.11: WebSphere Application Server V7.0 Fix Pack 11 for Windows
7.0.0.11: WebSphere Application Server V7.0 Fix Pack 11 for HP-UX
7.0.0.11: WebSphere Application Server V7.0 Fix Pack 11 for AIX
7.0.0.11: Java SDK 1.6 SR7 Cumulative Fix for WebSphere Application Server
7.0.0.11: WebSphere Application Server V7.0 Fix Pack 11 for Solaris
7.0.0.11: WebSphere Application Server V7.0 Fix Pack 11 for Linux
7.0.0.13: WebSphere Application Server V7.0 Fix Pack 13 for AIX
7.0.0.13: WebSphere Application Server V7.0 Fix Pack 13 for HP-UX
7.0.0.13: WebSphere Application Server V7.0 Fix Pack 13 for IBM i
7.0.0.13: WebSphere Application Server V7.0 Fix Pack 13 for Linux
7.0.0.13: WebSphere Application Server V7.0 Fix Pack 13 for Solaris
7.0.0.13: WebSphere Application Server V7.0 Fix Pack 13 for Windows
7.0.0.13: Java SDK 1.6 SR8FP1 Cumulative Fix for WebSphere Application Server
7.0.0.15: WebSphere Application Server V7.0 Fix Pack 15 for AIX
7.0.0.15: Java SDK 1.6 SR9 Cumulative Fix for WebSphere Application Server
7.0.0.15: WebSphere Application Server V7.0 Fix Pack 15 for HP-UX
7.0.0.15: WebSphere Application Server V7.0 Fix Pack 15 for IBM i
7.0.0.15: WebSphere Application Server V7.0 Fix Pack 15 for Linux
7.0.0.15: WebSphere Application Server V7.0 Fix Pack 15 for Solaris
7.0.0.15: WebSphere Application Server V7.0 Fix Pack 15 for Windows
7.0.0.17: WebSphere Application Server V7.0 Fix Pack 17
7.0.0.17: Java SDK 1.6 SR9 FP1 Cumulative Fix for WebSphere Application Server
7.0.0.19: WebSphere Application Server V7.0 Fix Pack 19
7.0.0.21: WebSphere Application Server V7.0 Fix Pack 21
7.0.0.23: WebSphere Application Server V7.0 Fix Pack 23
7.0.0.25: WebSphere Application Server V7.0 Fix Pack 25
7.0.0.27: WebSphere Application Server V7.0 Fix Pack 27
7.0.0.29: WebSphere Application Server V7.0 Fix Pack 29
7.0.0.31: WebSphere Application Server V7.0 Fix Pack 31
7.0.0.27: Java SDK 1.6 SR13 FP2 Cumulative Fix for WebSphere Application Server
7.0.0.33: WebSphere Application Server V7.0 Fix Pack 33
7.0.0.35: WebSphere Application Server V7.0 Fix Pack 35
7.0.0.19: Java SDK 1.6 SR9 FP2 Cumulative Fix for WebSphere Application Server
7.0.0.21: Java SDK 1.6 SR9 FP2 Cumulative Fix for WebSphere
7.0.0.23: Java SDK 1.6 SR10 FP1 Cumulative Fix for WebSphere
7.0.0.25: Java SDK 1.6 SR11 Cumulative Fix for WebSphere Application Server
7.0.0.27: Java SDK 1.6 SR12 Cumulative Fix for WebSphere Application Server
7.0.0.29: Java SDK 1.6 SR13 FP2 Cumulative Fix for WebSphere Application Server
7.0.0.45: Java SDK 1.6 SR16 FP60 Cumulative Fix for WebSphere Application Server
7.0.0.31: Java SDK 1.6 SR15 Cumulative Fix for WebSphere Application Server
7.0.0.35: Java SDK 1.6 SR16 FP1 Cumulative Fix for WebSphere Application Server
7.0.0.37: Java SDK 1.6 SR16 FP3 Cumulative Fix for WebSphere Application Server
7.0.0.39: Java SDK 1.6 SR16 FP7 Cumulative Fix for WebSphere Application Server
7.0.0.41: Java SDK 1.6 SR16 FP20 Cumulative Fix for WebSphere Application Server
7.0.0.43: Java SDK 1.6 SR16 FP41 Cumulative Fix for WebSphere Application Server

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • While running a jax-ws application, one of the following errors
    may occur when a message is received.
    
    Example Error:
    
    ExceptionFact 1 org.apache.axis2.jaxws.ExceptionFactory
    logRootCause Root Cause:javax.xml.bind.UnmarshalException
    
    - with linked exception:
    [javax.xml.bind.UnmarshalException: unexpected element
    (uri:"urn:xxxx/yyyyy", local:"Name_Of_Method"). Expected
    elements are (none)]
    ExceptionFact 1 org.apache.axis2.jaxws.ExceptionFactory
    logRootCause stack:javax.xml.bind.UnmarshalException
    - with linked exception:
    [javax.xml.bind.UnmarshalException: unexpected element
    (uri:"urn:xxxx/yyyyy", local:"Name_Of_Method"). Expected
    elements are (none)]
    com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.handle
    StreamException(UnmarshallerImpl.java:417)
    com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmars
    hal0(UnmarshallerImpl.java:342)
    com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmars
    hal(UnmarshallerImpl.java:312)
    org.apache.axis2.jaxws.message.databinding.impl.JAXBBlockImpl$2.
    run(JAXBBlockImpl.java:307)
    
    Example Error:
    
    ExceptionFact 1 org.apache.axis2.jaxws.ExceptionFactory
    logRootCause Root Cause:javax.xml.bind.UnmarshalException
    - with linked exception:
    [javax.xml.bind.UnmarshalException: Unable to create an instance
    of com.sample.MyClass
    - with linked exception:
    [java.lang.InstantiationException]]
    ExceptionFact 1 org.apache.axis2.jaxws.ExceptionFactory
    logRootCause stack:javax.xml.bind.UnmarshalException
    - with linked exception:
    [javax.xml.bind.UnmarshalException: Unable to create an instance
    of com.sample.MyClass
    - with linked exception:
    [java.lang.InstantiationException]]
    com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.handle
    StreamException(UnmarshallerImpl.java:417)
    com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmars
    hal0(UnmarshallerImpl.java:342)
    com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmars
    hal(UnmarshallerImpl.java:312)
    org.apache.axis2.jaxws.message.databinding.impl.JAXBBlockImpl$2.
    run(JAXBBlockImpl.java:307)
    
    
    The errors may occur if either of the following are true:
    
    A) The JAX-WS web service has @RequestWrapper or
    @ResponseWrapper method which specifies a targetNamespace
    parameter that locates a different package than the className
    (this is unusual).
    
    Example:
    @RequestWrapper(className="com.sample.WrapperType",
    localName="myMethod",
    targetNamespace="http://com.sample.other")
    
    
    B) Any of the namespaces defined for the webservice use a
    word that is a java keyword.
    
    Example: "http://com.sample/interface"
    
    C) Any of the namespaces defined for the webservice has a
    value that is not a valid url name
    
    Example: urn:acme/insurance/claim/form
    Example: sample/namespace/for/testing
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:  IBM WebSphere Application Server V7.0 users *
    *                  of JAX-WS web services.                     *
    ****************************************************************
    * PROBLEM DESCRIPTION: A javax.xml.bind.UnmarshalException     *
    *                      error may occur while using a JAX-WS    *
    *                      application.                            *
    ****************************************************************
    * RECOMMENDATION:  Apply a fixpack containing this APAR        *
    ****************************************************************
    While running a jax-ws application, one of the following
    errors may occur when a message is received.
    
    Example Error:
    
    ExceptionFact 1 org.apache.axis2.jaxws.ExceptionFactory
    logRootCause Root Cause:javax.xml.bind.UnmarshalException
    
    - with linked exception:
    [javax.xml.bind.UnmarshalException: unexpected element
    (uri:"urn:xxxx/yyyyy", local:"Name_Of_Method"). Expected
    elements are (none)]
    ExceptionFact 1 org.apache.axis2.jaxws.ExceptionFactory
    logRootCause stack:javax.xml.bind.UnmarshalException
    - with linked exception:
    [javax.xml.bind.UnmarshalException: unexpected element
    (uri:"urn:xxxx/yyyyy", local:"Name_Of_Method"). Expected
    elements are (none)]
    com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.handle
    StreamException(UnmarshallerImpl.java:417)
    com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmars
    hal0(UnmarshallerImpl.java:342)
    com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmars
    hal(UnmarshallerImpl.java:312)
    org.apache.axis2.jaxws.message.databinding.impl.JAXBBlockImpl$2.
    run(JAXBBlockImpl.java:307)
    
    Example Error:
    
    ExceptionFact 1 org.apache.axis2.jaxws.ExceptionFactory
    logRootCause Root Cause:javax.xml.bind.UnmarshalException
    - with linked exception:
    [javax.xml.bind.UnmarshalException: Unable to create an instance
    of com.sample.MyClass
    - with linked exception:
    [java.lang.InstantiationException]]
    ExceptionFact 1 org.apache.axis2.jaxws.ExceptionFactory
    logRootCause stack:javax.xml.bind.UnmarshalException
    - with linked exception:
    [javax.xml.bind.UnmarshalException: Unable to create an instance
    of com.sample.MyClass
    - with linked exception:
    [java.lang.InstantiationException]]
    com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.handle
    StreamException(UnmarshallerImpl.java:417)
    com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmars
    hal0(UnmarshallerImpl.java:342)
    com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmars
    hal(UnmarshallerImpl.java:312)
    org.apache.axis2.jaxws.message.databinding.impl.JAXBBlockImpl$2.
    run(JAXBBlockImpl.java:307)
    
    
    The errors may occur if either of the following are true:
    
       A) The JAX-WS web service has a @RequestWrapper or
    @ResponseWrapper annotation which specifies a targetNamespace
    parameter, and the targetNamespace locates a different
    package than the className.
    
    Example:
        @RequestWrapper(className="com.sample.WrapperType",
                        localName="myMethod",
                        targetNamespace="http://sample.other.com")
    
    
       B) Any of the namespaces defined for the webservice use a
    word that is a java keyword.
    
    Example: "http://sample.com/interface"
    
       C) Any of the namespaces defined for the webservice has a
    value that is not a valid url name
    
    Example: urn:acme/insurance/claim/form
    Example: sample/namespace/for/testing
    
    
    
    
    ====================================
    
    Note that condition (A) is unusual.  Most applications define
    a single schema containing the wrapper element and the wrapper
    complexType.  This problem will only occur if the application
    defines the wrapper element in one schema and the wrapper
    complexType in a different schema.
    
    Note that condition (B) is also unusual.  Most applications
    avoid using namespaces that contain words that conflict with
    java keywords (like interface).
    
    Note that condition (C) is uncommon.  Most applications use
    namspaces that are valid URL names.
    

Problem conclusion

  • The JAX-WS runtime examines the annotations and packages
    defined on the web service to discover all of the
    JAX-B objects that are needed to correctly run the web service.
    
    In this particular case, the JAX-WS runtime failed to read the
    targetNamespace values defined by the @RequestWrapper and
    @ResponseWrapper annotations.  The JAX-WS runtime is changed
    to correctly read these values.
    
    In additon, the JAX-WS runtime uses an algorithm defined by the
    JAX-B specification to convert namespace values into packages.
    This specification indicates that the names that collide with
    java keywords are mangled to avoid Java compiler errors.
    For example, namespace "http://sample.com/interface" is mapped
    to package "com.sample.interface_".
    
    The wsimport tool uses a slightly different mapping.  For
    example, namespace "http://sample.com/interface" is mapped
    to package "com.sample._interface".
    
    The JAX-WS runtime is changed to tolerate the JAX-B mapping
    and the wsimport mapping.
    
    Finally, there was a flaw in the algorithm used to convert
    namespace values into packages if the namespace value is not a
    URL value.  This code is changed to detect the non-URL values
    and use the appropriate conversion.
    
    The combination of these changes corrects the
    UnmarshallException error.
    
    This same problem is fixed in the V6.1 WebSphere Application
    Server Feature Pack for WebServices with APAR PM01719.
    
    The fix for this APAR is currently targeted for inclusion in
    fix pack 7.0.0.9.  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

    PM02079

  • 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-11-25

  • Closed date

    2009-12-17

  • Last modified date

    2009-12-17

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

    PM01719

  • 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

[{"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSEQTP","label":"WebSphere Application Server"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"7.0","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
24 October 2021