[ 
https://issues.apache.org/jira/browse/AXIS2-4667?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Rich Scheuerle updated AXIS2-4667:
----------------------------------

    Summary: JAX-WS:NullPointerException in MethodMarshalerUtils  (was: 
JAX-W:NullPointerException in MethodMarshalerUtils)

> JAX-WS: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
>   Original Estimate: 1h
>  Remaining Estimate: 1h
>
> 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]

Reply via email to