You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "William Tam (JIRA)" <ji...@apache.org> on 2007/05/17 21:43:16 UTC

[jira] Created: (CXF-660) org.apache.cxf.jaxb.WrapperHelper.getWrappedPart() throws NPE when element type is boolean

org.apache.cxf.jaxb.WrapperHelper.getWrappedPart() throws NPE when element type is boolean
------------------------------------------------------------------------------------------

                 Key: CXF-660
                 URL: https://issues.apache.org/jira/browse/CXF-660
             Project: CXF
          Issue Type: Bug
          Components: Core
    Affects Versions: 2.0-RC
            Reporter: William Tam
         Attachments: patch.txt

My method (setIsOK) looks like the following which has two parameters (boolean and int).

    @ResponseWrapper(targetNamespace = "http://www.xyz.com/myservice", className = "com.xyz.myservice.SetIsOKResponse", localName = "setIsOKResponse")
    @RequestWrapper(targetNamespace = "http://www.xyz.com/myservice", className = "com.xyz.myservice.SetIsOK", localName = "setIsOK")
    @WebResult(targetNamespace = "http://www.xyz.com/myservice", name = "Count1")
    @WebMethod
    public java.lang.Integer setIsOK(
        @WebParam(targetNamespace = "http://www.xyz.com/myservice", name = "Parameter1")
        boolean parameter1,
        @WebParam(targetNamespace = "http://www.xyz.com/myservice", name = "Parameter2")
        int parameter2
    ) throws SetIsOKFault_Exception;

When I invoke my method, it fails with a NPE thrown by WrapperHellper.

org.apache.cxf.interceptor.Fault 
at org.apache.cxf.jaxws.interceptors.WrapperClassInInterceptor.handleMessage(WrapperClassInInterceptor.java:122) 
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:148) 
at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:63) 
at org.apache.cxf.transport.http_jetty.JettyHTTPDestination.serviceRequest(JettyHTTPDestination.java:200) 
at org.apache.cxf.transport.http_jetty.JettyHTTPDestination.doService(JettyHTTPDestination.java:161) 
at org.apache.cxf.transport.http_jetty.JettyHTTPHandler.handle(JettyHTTPHandler.java:54) 
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:690) 
at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:191) 
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139) 
at org.mortbay.jetty.Server.handle(Server.java:285) 
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:457) 
at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:765) 
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:710) 
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:203) 
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:357) 
at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:329) 
at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:475) 
Caused by: java.lang.NullPointerException 
at org.apache.cxf.jaxb.WrapperHelper.getWrappedPart(WrapperHelper.java:194) 
at org.apache.cxf.jaxws.interceptors.WrapperClassInInterceptor.handleMessage(WrapperClassInInterceptor.java:115) 
... 16 more

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (CXF-660) org.apache.cxf.jaxb.WrapperHelper.getWrappedPart() throws NPE when element type is boolean

Posted by "William Tam (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CXF-660?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

William Tam updated CXF-660:
----------------------------

    Attachment: patch.txt

Please review and apply the attached patch.

> org.apache.cxf.jaxb.WrapperHelper.getWrappedPart() throws NPE when element type is boolean
> ------------------------------------------------------------------------------------------
>
>                 Key: CXF-660
>                 URL: https://issues.apache.org/jira/browse/CXF-660
>             Project: CXF
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 2.0-RC
>            Reporter: William Tam
>         Attachments: patch.txt
>
>
> My method (setIsOK) looks like the following which has two parameters (boolean and int).
>     @ResponseWrapper(targetNamespace = "http://www.xyz.com/myservice", className = "com.xyz.myservice.SetIsOKResponse", localName = "setIsOKResponse")
>     @RequestWrapper(targetNamespace = "http://www.xyz.com/myservice", className = "com.xyz.myservice.SetIsOK", localName = "setIsOK")
>     @WebResult(targetNamespace = "http://www.xyz.com/myservice", name = "Count1")
>     @WebMethod
>     public java.lang.Integer setIsOK(
>         @WebParam(targetNamespace = "http://www.xyz.com/myservice", name = "Parameter1")
>         boolean parameter1,
>         @WebParam(targetNamespace = "http://www.xyz.com/myservice", name = "Parameter2")
>         int parameter2
>     ) throws SetIsOKFault_Exception;
> When I invoke my method, it fails with a NPE thrown by WrapperHellper.
> org.apache.cxf.interceptor.Fault 
> at org.apache.cxf.jaxws.interceptors.WrapperClassInInterceptor.handleMessage(WrapperClassInInterceptor.java:122) 
> at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:148) 
> at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:63) 
> at org.apache.cxf.transport.http_jetty.JettyHTTPDestination.serviceRequest(JettyHTTPDestination.java:200) 
> at org.apache.cxf.transport.http_jetty.JettyHTTPDestination.doService(JettyHTTPDestination.java:161) 
> at org.apache.cxf.transport.http_jetty.JettyHTTPHandler.handle(JettyHTTPHandler.java:54) 
> at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:690) 
> at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:191) 
> at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139) 
> at org.mortbay.jetty.Server.handle(Server.java:285) 
> at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:457) 
> at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:765) 
> at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:710) 
> at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:203) 
> at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:357) 
> at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:329) 
> at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:475) 
> Caused by: java.lang.NullPointerException 
> at org.apache.cxf.jaxb.WrapperHelper.getWrappedPart(WrapperHelper.java:194) 
> at org.apache.cxf.jaxws.interceptors.WrapperClassInInterceptor.handleMessage(WrapperClassInInterceptor.java:115) 
> ... 16 more

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Resolved: (CXF-660) org.apache.cxf.jaxb.WrapperHelper.getWrappedPart() throws NPE when element type is boolean

Posted by "Daniel Kulp (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CXF-660?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Daniel Kulp resolved CXF-660.
-----------------------------

       Resolution: Fixed
    Fix Version/s: 2.0


The patch isn't quite right as something like:

<element name="foo" type="xsd:boolean" maxOccurs="10"/>

is mapped to "getFoo", not "isFoo".     Your patch would just look for isFoo.


However, I updated the provided test case with a boolean[] case and got the tests to pass.   Thanks for the testcase.

> org.apache.cxf.jaxb.WrapperHelper.getWrappedPart() throws NPE when element type is boolean
> ------------------------------------------------------------------------------------------
>
>                 Key: CXF-660
>                 URL: https://issues.apache.org/jira/browse/CXF-660
>             Project: CXF
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 2.0-RC
>            Reporter: William Tam
>         Assigned To: Daniel Kulp
>             Fix For: 2.0
>
>         Attachments: patch.txt
>
>
> My method (setIsOK) looks like the following which has two parameters (boolean and int).
>     @ResponseWrapper(targetNamespace = "http://www.xyz.com/myservice", className = "com.xyz.myservice.SetIsOKResponse", localName = "setIsOKResponse")
>     @RequestWrapper(targetNamespace = "http://www.xyz.com/myservice", className = "com.xyz.myservice.SetIsOK", localName = "setIsOK")
>     @WebResult(targetNamespace = "http://www.xyz.com/myservice", name = "Count1")
>     @WebMethod
>     public java.lang.Integer setIsOK(
>         @WebParam(targetNamespace = "http://www.xyz.com/myservice", name = "Parameter1")
>         boolean parameter1,
>         @WebParam(targetNamespace = "http://www.xyz.com/myservice", name = "Parameter2")
>         int parameter2
>     ) throws SetIsOKFault_Exception;
> When I invoke my method, it fails with a NPE thrown by WrapperHellper.
> org.apache.cxf.interceptor.Fault 
> at org.apache.cxf.jaxws.interceptors.WrapperClassInInterceptor.handleMessage(WrapperClassInInterceptor.java:122) 
> at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:148) 
> at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:63) 
> at org.apache.cxf.transport.http_jetty.JettyHTTPDestination.serviceRequest(JettyHTTPDestination.java:200) 
> at org.apache.cxf.transport.http_jetty.JettyHTTPDestination.doService(JettyHTTPDestination.java:161) 
> at org.apache.cxf.transport.http_jetty.JettyHTTPHandler.handle(JettyHTTPHandler.java:54) 
> at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:690) 
> at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:191) 
> at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139) 
> at org.mortbay.jetty.Server.handle(Server.java:285) 
> at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:457) 
> at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:765) 
> at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:710) 
> at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:203) 
> at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:357) 
> at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:329) 
> at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:475) 
> Caused by: java.lang.NullPointerException 
> at org.apache.cxf.jaxb.WrapperHelper.getWrappedPart(WrapperHelper.java:194) 
> at org.apache.cxf.jaxws.interceptors.WrapperClassInInterceptor.handleMessage(WrapperClassInInterceptor.java:115) 
> ... 16 more

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Assigned: (CXF-660) org.apache.cxf.jaxb.WrapperHelper.getWrappedPart() throws NPE when element type is boolean

Posted by "Daniel Kulp (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CXF-660?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Daniel Kulp reassigned CXF-660:
-------------------------------

    Assignee: Daniel Kulp

> org.apache.cxf.jaxb.WrapperHelper.getWrappedPart() throws NPE when element type is boolean
> ------------------------------------------------------------------------------------------
>
>                 Key: CXF-660
>                 URL: https://issues.apache.org/jira/browse/CXF-660
>             Project: CXF
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 2.0-RC
>            Reporter: William Tam
>         Assigned To: Daniel Kulp
>         Attachments: patch.txt
>
>
> My method (setIsOK) looks like the following which has two parameters (boolean and int).
>     @ResponseWrapper(targetNamespace = "http://www.xyz.com/myservice", className = "com.xyz.myservice.SetIsOKResponse", localName = "setIsOKResponse")
>     @RequestWrapper(targetNamespace = "http://www.xyz.com/myservice", className = "com.xyz.myservice.SetIsOK", localName = "setIsOK")
>     @WebResult(targetNamespace = "http://www.xyz.com/myservice", name = "Count1")
>     @WebMethod
>     public java.lang.Integer setIsOK(
>         @WebParam(targetNamespace = "http://www.xyz.com/myservice", name = "Parameter1")
>         boolean parameter1,
>         @WebParam(targetNamespace = "http://www.xyz.com/myservice", name = "Parameter2")
>         int parameter2
>     ) throws SetIsOKFault_Exception;
> When I invoke my method, it fails with a NPE thrown by WrapperHellper.
> org.apache.cxf.interceptor.Fault 
> at org.apache.cxf.jaxws.interceptors.WrapperClassInInterceptor.handleMessage(WrapperClassInInterceptor.java:122) 
> at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:148) 
> at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:63) 
> at org.apache.cxf.transport.http_jetty.JettyHTTPDestination.serviceRequest(JettyHTTPDestination.java:200) 
> at org.apache.cxf.transport.http_jetty.JettyHTTPDestination.doService(JettyHTTPDestination.java:161) 
> at org.apache.cxf.transport.http_jetty.JettyHTTPHandler.handle(JettyHTTPHandler.java:54) 
> at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:690) 
> at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:191) 
> at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139) 
> at org.mortbay.jetty.Server.handle(Server.java:285) 
> at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:457) 
> at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:765) 
> at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:710) 
> at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:203) 
> at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:357) 
> at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:329) 
> at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:475) 
> Caused by: java.lang.NullPointerException 
> at org.apache.cxf.jaxb.WrapperHelper.getWrappedPart(WrapperHelper.java:194) 
> at org.apache.cxf.jaxws.interceptors.WrapperClassInInterceptor.handleMessage(WrapperClassInInterceptor.java:115) 
> ... 16 more

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.