cxf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Freeman Fang (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (CXF-4493) If javax.jws.Oneway annotation is specified for a SOAP interface method a NPE occurs
Date Mon, 03 Sep 2012 05:34:07 GMT

    [ https://issues.apache.org/jira/browse/CXF-4493?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13447088#comment-13447088
] 

Freeman Fang edited comment on CXF-4493 at 9/3/12 4:34 PM:
-----------------------------------------------------------

Hi,

Per JAXWS spec, if it's a oneway operaiton, it shouldn't throw any fault. So if your operation
have oneway and faults at the same time, basically it's invalid interface per JAXWS spec.

Took a close look, the NPE come from when compute wsam:action, so similarly with the fix of
CXF-3560, add a NPE guard to ignore the faultAction annotation if it's oneway.

Freeman
                
      was (Author: ffang):
    Hi,

Per JAXWS spec, if it's a oneway operaiton, it shouldn't throw any fault. So if your operation
have oneway and faults at the same time, basically it's invalid interface per JAXWS spec.

Anyway we should be able to throw an exception if oneway and faults co-exist when build service
module from the class

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
>
> 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

Mime
View raw message