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

jieying.xiong updated CXF-4916:
-------------------------------

    Description: 
Exception in thread "main" java.lang.NullPointerException
        at java.lang.Class.isAssignableFrom(Native Method)
        at 
org.apache.cxf.jaxws.support.JaxWsServiceConfiguration.isWebMethod(JaxWsServiceConfiguration.java:166)
        at 
org.apache.cxf.jaxws.support.JaxWsServiceConfiguration.isOperation(JaxWsServiceConfiguration.java:205)
        at 
org.apache.cxf.service.factory.ReflectionServiceFactoryBean.isValidMethod(ReflectionServiceFactoryBean.java:1932)
        at 
org.apache.cxf.service.factory.ReflectionServiceFactoryBean.createInterface(ReflectionServiceFactoryBean.java:981)
        at 
org.apache.cxf.service.factory.ReflectionServiceFactoryBean.buildServiceFromClass(ReflectionServiceFactoryBean.java:469)
        at 
org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.buildServiceFromClass(JaxWsServiceFactoryBean.java:690)
        at 
org.apache.cxf.service.factory.ReflectionServiceFactoryBean.initializeServiceModel(ReflectionServiceFactoryBean.java:540)
        at 
org.apache.cxf.service.factory.ReflectionServiceFactoryBean.create(ReflectionServiceFactoryBean.java:252)
        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.ClientFactoryBean.create(ClientFactoryBean.java:90)
        at 
org.apache.cxf.frontend.ClientProxyFactoryBean.create(ClientProxyFactoryBean.java:156)
        at 
org.apache.cxf.jaxws.JaxWsProxyFactoryBean.create(JaxWsProxyFactoryBean.java:156)
....

---------------------------
Here is the concerned code snippet 
(JaxWsServiceConfiguration.java.isWebMethod():
implInfo.getSEIClass() null check is after 
cls.isAssignableFrom(implInfo.getSEIClass()) threw an exception, I'm trying to 
move it ahead.

        if ((wm != null && !wm.exclude()) || (cls.isInterface() 
                && cls.isAssignableFrom(implInfo.getSEIClass()))) {
            return Boolean.TRUE;
        }
        if (method.getDeclaringClass().isInterface()) {
            return hasWebServiceAnnotation(method);
        }
        if (implInfo.getSEIClass() == null) {
            return hasWebServiceAnnotation(method)
                && !Modifier.isFinal(method.getModifiers())
                && !Modifier.isStatic(method.getModifiers());
        }
        return 
implInfo.getSEIClass().isAssignableFrom(method.getDeclaringClass());





  was:
Exception in thread "main" java.lang.NullPointerException
        at java.lang.Class.isAssignableFrom(Native Method)
        at 
org.apache.cxf.jaxws.support.JaxWsServiceConfiguration.isWebMethod(JaxWsServiceConfiguration.java:166)
        at 
org.apache.cxf.jaxws.support.JaxWsServiceConfiguration.isOperation(JaxWsServiceConfiguration.java:205)
        at 
org.apache.cxf.service.factory.ReflectionServiceFactoryBean.isValidMethod(ReflectionServiceFactoryBean.java:1932)
        at 
org.apache.cxf.service.factory.ReflectionServiceFactoryBean.createInterface(ReflectionServiceFactoryBean.java:981)
        at 
org.apache.cxf.service.factory.ReflectionServiceFactoryBean.buildServiceFromClass(ReflectionServiceFactoryBean.java:469)
        at 
org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.buildServiceFromClass(JaxWsServiceFactoryBean.java:690)
        at 
org.apache.cxf.service.factory.ReflectionServiceFactoryBean.initializeServiceModel(ReflectionServiceFactoryBean.java:540)
        at 
org.apache.cxf.service.factory.ReflectionServiceFactoryBean.create(ReflectionServiceFactoryBean.java:252)
        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.ClientFactoryBean.create(ClientFactoryBean.java:90)
        at 
org.apache.cxf.frontend.ClientProxyFactoryBean.create(ClientProxyFactoryBean.java:156)
        at 
org.apache.cxf.jaxws.JaxWsProxyFactoryBean.create(JaxWsProxyFactoryBean.java:156)
....

---------------------------
Here is the concerned code snippet 
(JaxWsServiceConfiguration.java.isWebMethod():
while implInfo.getSEIClass() null check is after 
cls.isAssignableFrom(implInfo.getSEIClass()) threw an exception, I'm trying to 
move it ahead.

        if ((wm != null && !wm.exclude()) || (cls.isInterface() 
                && cls.isAssignableFrom(implInfo.getSEIClass()))) {
            return Boolean.TRUE;
        }
        if (method.getDeclaringClass().isInterface()) {
            return hasWebServiceAnnotation(method);
        }
        if (implInfo.getSEIClass() == null) {
            return hasWebServiceAnnotation(method)
                && !Modifier.isFinal(method.getModifiers())
                && !Modifier.isStatic(method.getModifiers());
        }
        return 
implInfo.getSEIClass().isAssignableFrom(method.getDeclaringClass());





    
> NPE before being checked in JaxWsServiceConfiguration.class
> -----------------------------------------------------------
>
>                 Key: CXF-4916
>                 URL: https://issues.apache.org/jira/browse/CXF-4916
>             Project: CXF
>          Issue Type: Bug
>         Environment: jdk6
>            Reporter: jieying.xiong
>
> Exception in thread "main" java.lang.NullPointerException
>       at java.lang.Class.isAssignableFrom(Native Method)
>       at 
> org.apache.cxf.jaxws.support.JaxWsServiceConfiguration.isWebMethod(JaxWsServiceConfiguration.java:166)
>       at 
> org.apache.cxf.jaxws.support.JaxWsServiceConfiguration.isOperation(JaxWsServiceConfiguration.java:205)
>       at 
> org.apache.cxf.service.factory.ReflectionServiceFactoryBean.isValidMethod(ReflectionServiceFactoryBean.java:1932)
>       at 
> org.apache.cxf.service.factory.ReflectionServiceFactoryBean.createInterface(ReflectionServiceFactoryBean.java:981)
>       at 
> org.apache.cxf.service.factory.ReflectionServiceFactoryBean.buildServiceFromClass(ReflectionServiceFactoryBean.java:469)
>       at 
> org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.buildServiceFromClass(JaxWsServiceFactoryBean.java:690)
>       at 
> org.apache.cxf.service.factory.ReflectionServiceFactoryBean.initializeServiceModel(ReflectionServiceFactoryBean.java:540)
>       at 
> org.apache.cxf.service.factory.ReflectionServiceFactoryBean.create(ReflectionServiceFactoryBean.java:252)
>       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.ClientFactoryBean.create(ClientFactoryBean.java:90)
>       at 
> org.apache.cxf.frontend.ClientProxyFactoryBean.create(ClientProxyFactoryBean.java:156)
>       at 
> org.apache.cxf.jaxws.JaxWsProxyFactoryBean.create(JaxWsProxyFactoryBean.java:156)
> ....
> ---------------------------
> Here is the concerned code snippet 
> (JaxWsServiceConfiguration.java.isWebMethod():
> implInfo.getSEIClass() null check is after 
> cls.isAssignableFrom(implInfo.getSEIClass()) threw an exception, I'm trying 
> to move it ahead.
>         if ((wm != null && !wm.exclude()) || (cls.isInterface() 
>                 && cls.isAssignableFrom(implInfo.getSEIClass()))) {
>             return Boolean.TRUE;
>         }
>         if (method.getDeclaringClass().isInterface()) {
>             return hasWebServiceAnnotation(method);
>         }
>         if (implInfo.getSEIClass() == null) {
>             return hasWebServiceAnnotation(method)
>                 && !Modifier.isFinal(method.getModifiers())
>                 && !Modifier.isStatic(method.getModifiers());
>         }
>         return 
> implInfo.getSEIClass().isAssignableFrom(method.getDeclaringClass());

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

Reply via email to