axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Rich Scheuerle (JIRA)" <j...@apache.org>
Subject [jira] Updated: (AXIS2-4667) JAX-WS:NullPointerException in MethodMarshalerUtils
Date Tue, 30 Mar 2010 14:39:27 GMT

     [ 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: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org


Mime
View raw message