cxf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Scott S. McCoy (Updated) (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (CXF-3836) Missing output parameters in wrapped method implementations generate NPE
Date Thu, 29 Sep 2011 21:17:46 GMT

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

Scott S. McCoy updated CXF-3836:
--------------------------------

    Description: 
When implementing an interface generated from a WSDL which has an output parameter stored
in a holder, as in

{{
        @WebParam(mode = WebParam.Mode.OUT, name = "created", targetNamespace = "")
        javax.xml.ws.Holder<java.lang.Boolean> created
}}

Failing to provide a value in the supplied holder results in an NPE, originating from the
runtime-generated WrapperTypeHelper class, e.g.

{{
java.lang.NullPointerException
	at com.vindicia.soap.v3_6.account.UpdateResponse_WrapperTypeHelper1.createWrapperObject(Unknown
Source)
	at org.apache.cxf.jaxws.interceptors.WrapperClassOutInterceptor.handleMessage(WrapperClassOutInterceptor.java:105)
}}

This fails to inform the user of the cause of the issue or how to diagnose it.  Instead, required
parameters should be validated to atleast be not null before they are assumed to have been
provided.

I have validated this behavior on 2.4.2, 2.4.0 and 2.3.6.

The work-around for the user is of course to provide a non-null value in the holder object.

It is worth noting this appears to only happen for output parameters that are normally mapped
to primitive types.

  was:
When implementing an interface generated from a WSDL which has an output parameter stored
in a holder, as in

{{{
        @WebParam(mode = WebParam.Mode.OUT, name = "created", targetNamespace = "")
        javax.xml.ws.Holder<java.lang.Boolean> created
}}}

Failing to provide a value in the supplied holder results in an NPE, originating from the
runtime-generated WrapperTypeHelper class, e.g.

{{{
java.lang.NullPointerException
	at com.vindicia.soap.v3_6.account.UpdateResponse_WrapperTypeHelper1.createWrapperObject(Unknown
Source)
	at org.apache.cxf.jaxws.interceptors.WrapperClassOutInterceptor.handleMessage(WrapperClassOutInterceptor.java:105)
}}}

This fails to inform the user of the cause of the issue or how to diagnose it.  Instead, required
parameters should be validated to atleast be not null before they are assumed to have been
provided.

I have validated this behavior on 2.4.2, 2.4.0 and 2.3.6.

The work-around for the user is of course to provide a non-null value in the holder object.

    
> Missing output parameters in wrapped method implementations generate NPE
> ------------------------------------------------------------------------
>
>                 Key: CXF-3836
>                 URL: https://issues.apache.org/jira/browse/CXF-3836
>             Project: CXF
>          Issue Type: Bug
>          Components: JAX-WS Runtime
>    Affects Versions: 2.3.6, 2.4.2
>            Reporter: Scott S. McCoy
>
> When implementing an interface generated from a WSDL which has an output parameter stored
in a holder, as in
> {{
>         @WebParam(mode = WebParam.Mode.OUT, name = "created", targetNamespace = "")
>         javax.xml.ws.Holder<java.lang.Boolean> created
> }}
> Failing to provide a value in the supplied holder results in an NPE, originating from
the runtime-generated WrapperTypeHelper class, e.g.
> {{
> java.lang.NullPointerException
> 	at com.vindicia.soap.v3_6.account.UpdateResponse_WrapperTypeHelper1.createWrapperObject(Unknown
Source)
> 	at org.apache.cxf.jaxws.interceptors.WrapperClassOutInterceptor.handleMessage(WrapperClassOutInterceptor.java:105)
> }}
> This fails to inform the user of the cause of the issue or how to diagnose it.  Instead,
required parameters should be validated to atleast be not null before they are assumed to
have been provided.
> I have validated this behavior on 2.4.2, 2.4.0 and 2.3.6.
> The work-around for the user is of course to provide a non-null value in the holder object.
> It is worth noting this appears to only happen for output parameters that are normally
mapped to primitive types.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message