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 Feature * * Pack for Web Services users of JAX-WS * **************************************************************** * 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 addition, 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 V7 WebSphere Application Server with APAR PM02079. The fix for this APAR is currently targeted for inclusion in fix pack 6.1.0.31. 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
PM01719
Reported component name
WEBSERVIC FEATU
Reported component ID
5724J0850
Reported release
610
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2009-11-19
Closed date
2009-12-17
Last modified date
2009-12-17
APAR is sysrouted FROM one or more of the following:
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"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"6.1","Edition":"","Line of Business":{"code":"LOB45","label":"Automation"}}]
Document Information
Modified date:
10 February 2022