JAX-W:NullPointerException in MethodMarshalerUtils
--------------------------------------------------
Key: AXIS2-4667
URL: https://issues.apache.org/jira/browse/AXIS2-4667
Project: Axis2
Issue Type: Bug
Components: jaxws
Reporter: Rich Scheuerle
Assignee: Rich Scheuerle
Background:
-----------------
A wsdl operation may defined one or more message parts that are mapped to
header elements. This is unusual, but it is allowed by the specification.
In JAX-WS, these header mapped parameters can be designed using the @WebParam
annotation. Here is an example:
@WebMethod
@WebResult(name = "String", targetNamespace = "http://sample", partName =
"result")
public String myOperation(
@WebParam(name = "BodyInteger", targetNamespace = "http://sample",
partName = "bodyParam")
int bodyParam,
@WebParam(name = "HeaderString", targetNamespace = "http://sample",
partName = "headerParam", header=true)
String headerParam)
;
Problem:
-------------
A remote node may send a message that lacks the header element for the
parameter. This causes a NullPointerException.
Here is the location of the NullPointerException:
org.apache.axis2.jaxws.ExceptionFactory
logRootCause stack:java.lang.NullPointerException
at
org.apache.axis2.jaxws.marshaller.impl.alt.MethodMarshallerUtils
.getPDElements(MethodMarshallerUtils.java:335)
at
org.apache.axis2.jaxws.marshaller.impl.alt.DocLitBareMethodMarsh
aller.demarshalResponse(DocLitBareMethodMarshaller.java:133)
at
Solution:
------------
The JAX-WS code should properly accommodate the missing header parameter.
A validation test will be provided to verify the new code.
Note: the JAX-WS Proxy engine currently sends a header element with a
xsi:nil="true" if the java argument for the parameter is null.
We believe that this is the safest and most correct behavior.
However, I am adding a new JAX-WS RequestContext property which will allow a
user to specify that no header element should be sent in such cases.
This new property is used by the validation test.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]