[
https://issues.apache.org/jira/browse/CXF-4493?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13447257#comment-13447257
]
Freeman Fang commented on CXF-4493:
-----------------------------------
Hi,
This wsdl is a invalid wsdl per WSDL 1, operations without an output cannot
throw faults.
If you enable -validate flag with cxf wsdl2java you can see
WSDLToJava Error:
line 535 column 126 of file:/Users/ffang/apache-cxf-2.6.1/bin/reseller.wsdl:
cvc-complex-type.2.4.a: Invalid content was found starting with element
'wsdl:fault'. One of '{"http://schemas.xmlsoap.org/wsdl/":output}' is expected.
By default CXF wsdl2java only do very basic WSI-BasicProfile validation and use
-validate flag is highly recommended.
So add a NPE guard is enough for this issue.
Freeman
> If javax.jws.Oneway annotation is specified for a SOAP interface method a NPE
> occurs
> ------------------------------------------------------------------------------------
>
> Key: CXF-4493
> URL: https://issues.apache.org/jira/browse/CXF-4493
> Project: CXF
> Issue Type: Bug
> Components: WS-* Components
> Affects Versions: 2.6.2
> Reporter: Thorben Betten
> Assignee: Freeman Fang
> Priority: Minor
> Attachments: reseller.wsdl.txt
>
>
> If javax.jws.Oneway annotation is specified for a SOAP interface method a NPE
> occurs. The passed OperationInfo "faults" member is left to null and thus
> causes a NPE by calling:
> faultInfo.addExtensionAttribute(JAXWSAConstants.WSAW_ACTION_QNAME,
> faultAction.value());
> If javax.jws.Oneway annotation is removed the endpoint gets registered
> without problems.
> java.lang.NullPointerException
> at
> org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.buildWSAActions(JaxWsServiceFactoryBean.java:578)
> at
> org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.createOperation(JaxWsServiceFactoryBean.java:625)
> at
> org.apache.cxf.service.factory.ReflectionServiceFactoryBean.createInterface(ReflectionServiceFactoryBean.java:955)
> at
> org.apache.cxf.service.factory.ReflectionServiceFactoryBean.buildServiceFromClass(ReflectionServiceFactoryBean.java:465)
> at
> org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.buildServiceFromClass(JaxWsServiceFactoryBean.java:685)
> at
> org.apache.cxf.service.factory.ReflectionServiceFactoryBean.initializeServiceModel(ReflectionServiceFactoryBean.java:536)
> at
> org.apache.cxf.service.factory.ReflectionServiceFactoryBean.create(ReflectionServiceFactoryBean.java:248)
> at
> org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.create(JaxWsServiceFactoryBean.java:205)
> at
> org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory.createEndpoint(AbstractWSDLBasedEndpointFactory.java:101)
> at
> org.apache.cxf.frontend.ServerFactoryBean.create(ServerFactoryBean.java:159)
> at
> org.apache.cxf.jaxws.JaxWsServerFactoryBean.create(JaxWsServerFactoryBean.java:207)
> at org.apache.cxf.jaxws.EndpointImpl.getServer(EndpointImpl.java:442)
> at org.apache.cxf.jaxws.EndpointImpl.doPublish(EndpointImpl.java:329)
> ... 42 more
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira