[
https://issues.apache.org/jira/browse/CXF-1737?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12621012#action_12621012
]
Daniel Kulp commented on CXF-1737:
----------------------------------
Thanks for the testcase. Very useful.
The "correct" fix is actually on line 618:
if (!initializeParameter(o, method, -1, paramType, genericType)) {
return false;
}
should change to:
if (o.hasOutput()
&& !initializeParameter(o, method, -1, paramType, genericType)) {
return false;
}
Basically, if the wsdl states there is no output message (it's a one-way), then
the return type is irrelevant and should/could be completely skipped.
> NPE in ClientProxyFactoryBean on void methods
> ----------------------------------------------
>
> Key: CXF-1737
> URL: https://issues.apache.org/jira/browse/CXF-1737
> Project: CXF
> Issue Type: Bug
> Components: Core
> Affects Versions: 2.1.1
> Reporter: Andreas Benneke
> Attachments: void.zip
>
>
> If you try to access a service containing a method returning nothing (void),
> the ClientProxyFactoryBean fails with a NullPointerException:
> Exception in thread "main" java.lang.NullPointerException
> at
> org.apache.cxf.service.factory.ReflectionServiceFactoryBean.initializeParameter(ReflectionServiceFactoryBean.java:643)
> at
> org.apache.cxf.service.factory.ReflectionServiceFactoryBean.initializeClassInfo(ReflectionServiceFactoryBean.java:609)
> at
> org.apache.cxf.service.factory.ReflectionServiceFactoryBean.initializeWSDLOperation(ReflectionServiceFactoryBean.java:540)
> at
> org.apache.cxf.service.factory.ReflectionServiceFactoryBean.initializeWSDLOperations(ReflectionServiceFactoryBean.java:510)
> at
> org.apache.cxf.service.factory.ReflectionServiceFactoryBean.buildServiceFromWSDL(ReflectionServiceFactoryBean.java:305)
> at
> org.apache.cxf.service.factory.ReflectionServiceFactoryBean.initializeServiceModel(ReflectionServiceFactoryBean.java:394)
> at
> org.apache.cxf.service.factory.ReflectionServiceFactoryBean.create(ReflectionServiceFactoryBean.java:181)
> at
> org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory.createEndpoint(AbstractWSDLBasedEndpointFactory.java:79)
> at
> org.apache.cxf.frontend.ClientFactoryBean.create(ClientFactoryBean.java:51)
> at
> org.apache.cxf.frontend.ClientProxyFactoryBean.create(ClientProxyFactoryBean.java:97)
> If you change the method returning something or eliminate the method
> altogether, everything works fine...
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.