You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Daniel Kulp (JIRA)" <ji...@apache.org> on 2008/02/25 22:50:51 UTC

[jira] Resolved: (CXF-1386) java2wsdl: NullPointerException on @WebService interface throwing custom Exception

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

Daniel Kulp resolved CXF-1386.
------------------------------

       Resolution: Fixed
    Fix Version/s:     (was: 2.1)
                   2.0.5
         Assignee: Daniel Kulp


This appears to be an issue with classes (specifically exceptions) in the default package (no package statement).   I've gone through the entire codebase greping for "getPackage()" (which returns null in that case) to make sure it's properly guarded.   I've tested using the above code and it does properly generate a wsdl now.

That said, the workaround should be to put everything in packages.   It's generally considered bad practice to not put code is proper packages. 

> java2wsdl: NullPointerException on @WebService interface throwing custom Exception
> ----------------------------------------------------------------------------------
>
>                 Key: CXF-1386
>                 URL: https://issues.apache.org/jira/browse/CXF-1386
>             Project: CXF
>          Issue Type: Bug
>          Components: Tooling
>    Affects Versions: 2.0.3
>         Environment: Windows XP, jdk1.5.0_11 and jdk1.6.0_01
>            Reporter: Pierre Buyle
>            Assignee: Daniel Kulp
>             Fix For: 2.0.5
>
>
> java2wsdl throw an NullPointerException  when generating for  WSDL for this simple service interface
>  -- Service.java --
> import javax.jws.WebService;
> @WebService()
> public interface Service
> {
>       void operation() throws ServiceException;
> }
> -- ServiceException.java --
> import javax.xml.ws.WebFault;
> @WebFault(name="ServiceFault")
> public class ServiceException extends Exception
> {
> 	private static final long serialVersionUID = 4857896282591349073L;
> 	public ServiceException(String message)
> 	{
> 		super(message);
> 	}
> 	
> 	public ServiceException(String message, Throwable cause)
> 	{
> 		super(message, cause);
> 	}
> }
> -- command log --
> java2wsdl -verbose Service
> java2wsdl - Apache CXF (incubator) 2.0.3-incubator
> 07-janv.-2008 13:57:43 org.apache.cxf.tools.java2wsdl.processor.JavaToProcessor process
> INFO: Classpath before Java2Wsdl: [...]
> 07-janv.-2008 13:57:43 org.springframework.context.support.AbstractApplicationContext prepareRefresh
> INFO: Refreshing org.apache.cxf.bus.spring.BusApplicationContext@1542a75: display name [org.apache.cxf.bus.spring.BusApplicationContext@1542a75]; startup date [Mon Jan 07 13:57:43 CET 2008]; root of context hierarchy
> 07-janv.-2008 13:57:43 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
> INFO: Loading XML bean definitions from class path resource [META-INF/cxf/cxf.xml]
> 07-janv.-2008 13:57:43 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
> INFO: Loading XML bean definitions from class path resource [META-INF/cxf/cxf-extension-soap.xml]
> 07-janv.-2008 13:57:43 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
> INFO: Loading XML bean definitions from class path resource [META-INF/cxf/cxf-extension-management.xml]
> 07-janv.-2008 13:57:43 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
> INFO: Loading XML bean definitions from class path resource [META-INF/cxf/cxf-extension-rm.xml]
> 07-janv.-2008 13:57:44 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
> INFO: Loading XML bean definitions from class path resource [META-INF/cxf/cxf-extension-addr.xml]
> 07-janv.-2008 13:57:44 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
> INFO: Loading XML bean definitions from class path resource [META-INF/cxf/cxf-extension-http-binding.xml]
> 07-janv.-2008 13:57:44 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
> INFO: Loading XML bean definitions from class path resource [META-INF/cxf/cxf-extension-jms.xml]
> 07-janv.-2008 13:57:44 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
> INFO: Loading XML bean definitions from class path resource [META-INF/cxf/cxf-extension-jaxws.xml]
> 07-janv.-2008 13:57:44 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
> INFO: Loading XML bean definitions from class path resource [META-INF/cxf/cxf-extension-local.xml]
> 07-janv.-2008 13:57:44 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
> INFO: Loading XML bean definitions from class path resource [META-INF/cxf/cxf-extension-http-jetty.xml]
> 07-janv.-2008 13:57:44 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
> INFO: Loading XML bean definitions from class path resource [META-INF/cxf/cxf-extension-http.xml]
> 07-janv.-2008 13:57:44 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
> INFO: Loading XML bean definitions from class path resource [META-INF/cxf/cxf-extension-object-binding.xml]
> 07-janv.-2008 13:57:44 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
> INFO: Loading XML bean definitions from class path resource [META-INF/cxf/cxf-extension-http.xml]
> 07-janv.-2008 13:57:44 org.springframework.beans.factory.support.DefaultListableBeanFactory registerBeanDefinition
> INFO: Overriding bean definition for bean 'org.apache.cxf.transport.http.ClientOnlyHTTPTransportFactory': replacing [Root bean: class [org.apache.cxf.transport.http.ClientOnlyHTTPTransportFactory]; scope=singleton; abstract=false; lazyInit=true; autowireCandidate=true; autowireMode=0; dependencyCheck=0; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null; defined in class path resource [META-INF/cxf/cxf-extension-http.xml]] with [Root bean: class [org.apache.cxf.transport.http.ClientOnlyHTTPTransportFactory]; scope=singleton; abstract=false; lazyInit=true; autowireCandidate=true; autowireMode=0; dependencyCheck=0; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null; defined in class path resource [META-INF/cxf/cxf-extension-http.xml]]
> 07-janv.-2008 13:57:44 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
> INFO: Loading XML bean definitions from class path resource [META-INF/cxf/cxf-extension-policy.xml]
> 07-janv.-2008 13:57:44 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
> INFO: Loading XML bean definitions from class path resource [META-INF/cxf/cxf-extension-xml.xml]
> 07-janv.-2008 13:57:44 org.springframework.context.support.AbstractApplicationContext obtainFreshBeanFactory
> INFO: Bean factory for application context [org.apache.cxf.bus.spring.BusApplicationContext@1542a75]: org.springframework.beans.factory.support.DefaultListableBeanFactory@1fbfd6
> 07-janv.-2008 13:57:44 org.springframework.context.support.AbstractApplicationContext$BeanPostProcessorChecker postProcessAfterInitialization
> INFO: Bean 'org.apache.cxf.bus.spring.Jsr250BeanPostProcessor' is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
> 07-janv.-2008 13:57:44 org.springframework.context.support.AbstractApplicationContext$BeanPostProcessorChecker postProcessAfterInitialization
> INFO: Bean 'org.apache.cxf.bus.spring.BusExtensionPostProcessor' is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
> 07-janv.-2008 13:57:44 org.springframework.beans.factory.support.DefaultListableBeanFactory preInstantiateSingletons
> INFO: Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@1fbfd6: defining beans [cxf,org.apache.cxf.bus.spring.Jsr250BeanPostProcessor,org.apache.cxf.bus.spring.BusExtensionPostProcessor,org.apache.cxf.resource.ResourceManager,org.apache.cxf.configuration.Configurer,org.apache.cxf.binding.BindingFactoryManager,org.apache.cxf.transport.DestinationFactoryManager,org.apache.cxf.transport.ConduitInitiatorManager,org.apache.cxf.wsdl.WSDLManager,org.apache.cxf.phase.PhaseManager,org.apache.cxf.workqueue.WorkQueueManager,org.apache.cxf.buslifecycle.BusLifeCycleManager,org.apache.cxf.endpoint.ServerRegistry,org.apache.cxf.endpoint.ServerLifeCycleManager,org.apache.cxf.endpoint.ClientLifeCycleManager,org.apache.cxf.transports.http.QueryHandlerRegistry,org.apache.cxf.endpoint.EndpointResolverRegistry,org.apache.cxf.headers.HeaderManager,org.apache.cxf.catalog.OASISCatalogManager,org.apache.cxf.binding.soap.SoapBindingFactory,org.apache.cxf.binding.soap.SoapTransportFactory,org.apache.cxf.binding.soap.customEditorConfigurer,org.apache.cxf.management.jmx.InstrumentationManagerImpl,org.apache.cxf.ws.rm.RMManager,org.apache.cxf.ws.rm.policy.RMPolicyInterceptorProvider,org.apache.cxf.ws.rm.RMAssertionBuilder,org.apache.cxf.ws.addressing.policy.AddressingAssertionBuilder,org.apache.cxf.ws.addressing.policy.AddressingPolicyInterceptorProvider,org.apache.cxf.ws.addressing.policy.UsingAddressingAssertionBuilder,org.apache.cxf.binding.http.HttpBindingFactory,org.apache.cxf.transport.jms.JMSTransportFactory,org.apache.cxf.jaxws.context.WebServiceContextResourceResolver,org.apache.cxf.transport.local.LocalTransportFactory,org.apache.cxf.transport.http.policy.HTTPClientAssertionBuilder,org.apache.cxf.transport.http.policy.HTTPServerAssertionBuilder,org.apache.cxf.transport.http.ClientOnlyHTTPTransportFactory,org.apache.cxf.transport.http_jetty.JettyHTTPTransportFactory,org.apache.cxf.binding.object.ObjectBindingFactory,org.apache.cxf.transport.http.policy.HTTPClientAssertionBuilder#1,org.apache.cxf.transport.http.policy.HTTPServerAssertionBuilder#1,org.apache.cxf.ws.policy.AssertionBuilderRegistry,org.apache.cxf.ws.policy.PolicyConstants,org.apache.cxf.ws.policy.PolicyInterceptorProviderRegistry,org.apache.cxf.ws.policy.attachment.external.DomainExpressionBuilderRegistry,org.apache.cxf.ws.policy.attachment.external.EndpointReferenceDomainExpressionBuilder,org.apache.cxf.ws.policy.PolicyBuilder,org.apache.cxf.ws.policy.PolicyEngine,org.apache.cxf.ws.policy.attachment.wsdl11.Wsdl11AttachmentPolicyProvider,org.apache.cxf.ws.policy.attachment.ServiceModelPolicyProvider,org.apache.cxf.ws.policy.mtom.MTOMAssertionBuilder,org.apache.cxf.ws.policy.mtom.MTOMPolicyInterceptorProvider,org.apache.cxf.binding.xml.XMLBindingFactory]; root of factory hierarchy
> 07-janv.-2008 13:57:44 org.apache.cxf.configuration.spring.ConfigurerImpl <init>
> INFO: Could not find the configuration file cxf.xml on the classpath.
> 07-janv.-2008 13:57:44 org.apache.cxf.service.factory.ReflectionServiceFactoryBean buildServiceFromClass
> INFO: Creating Service {http://unknown.namespace/}ServiceService from class Service
> 07-janv.-2008 13:57:44 org.apache.cxf.service.factory.ReflectionServiceFactoryBean fillInSchemaCrossreferences
> GRAVE: Schema element {http://unknown.namespace/}ServiceFault references undefined type {http://unknown.namespace/}ServiceFault for service {http://unknown.namespace/}ServiceService.
> 07-janv.-2008 13:57:45 org.apache.cxf.tools.java2wsdl.processor.internal.jaxws.Wrapper isWrapperBeanClassNotExist
> INFO: Trying to load wrapper class defaultnamespace.jaxws.Operation
> 07-janv.-2008 13:57:45 org.apache.cxf.tools.java2wsdl.processor.internal.jaxws.Wrapper getWrapperClass
> ATTENTION: Can not load wrapper class defaultnamespace.jaxws.Operation, please check the @RequestWrapper or @ResponseWrapper and also check the class is in your classpath
> 07-janv.-2008 13:57:45 org.apache.cxf.tools.java2wsdl.processor.internal.jaxws.Wrapper isWrapperBeanClassNotExist
> INFO: Trying to load wrapper class defaultnamespace.jaxws.OperationResponse
> 07-janv.-2008 13:57:45 org.apache.cxf.tools.java2wsdl.processor.internal.jaxws.Wrapper getWrapperClass
> ATTENTION: Can not load wrapper class defaultnamespace.jaxws.OperationResponse, please check the @RequestWrapper or @ResponseWrapper and also check the class is in your classpath
> Error: null
> java.lang.NullPointerException
> 	at org.apache.cxf.tools.java2wsdl.processor.internal.jaxws.FaultBean.transform(FaultBean.java:64)
> 	at org.apache.cxf.tools.java2wsdl.generator.wsdl11.FaultBeanGenerator.generateBeanClasses(FaultBeanGenerator.java:60)
> 	at org.apache.cxf.tools.java2wsdl.generator.wsdl11.BeanGenerator.generate(BeanGenerator.java:54)
> 	at org.apache.cxf.tools.java2wsdl.generator.wsdl11.BeanGenerator.generate(BeanGenerator.java:34)
> 	at org.apache.cxf.tools.java2wsdl.processor.JavaToProcessor.generate(JavaToProcessor.java:134)
> 	at org.apache.cxf.tools.java2wsdl.processor.JavaToProcessor.process(JavaToProcessor.java:101)
> 	at org.apache.cxf.tools.java2wsdl.JavaToWSDLContainer.execute(JavaToWSDLContainer.java:58)
> 	at org.apache.cxf.tools.common.toolspec.ToolRunner.runTool(ToolRunner.java:83)
> 	at org.apache.cxf.tools.common.toolspec.ToolRunner.runTool(ToolRunner.java:52)
> 	at org.apache.cxf.tools.common.toolspec.ToolRunner.runTool(ToolRunner.java:39)
> 	at org.apache.cxf.tools.java2wsdl.JavaToWSDL.run(JavaToWSDL.java:74)
> 	at org.apache.cxf.tools.java2wsdl.JavaToWSDL.main(JavaToWSDL.java:42)
> JavaToWSDL Error : null
> org.apache.cxf.tools.common.ToolException
> 	at org.apache.cxf.tools.java2wsdl.JavaToWSDLContainer.execute(JavaToWSDLContainer.java:75)
> 	at org.apache.cxf.tools.common.toolspec.ToolRunner.runTool(ToolRunner.java:83)
> 	at org.apache.cxf.tools.common.toolspec.ToolRunner.runTool(ToolRunner.java:52)
> 	at org.apache.cxf.tools.common.toolspec.ToolRunner.runTool(ToolRunner.java:39)
> 	at org.apache.cxf.tools.java2wsdl.JavaToWSDL.run(JavaToWSDL.java:74)
> 	at org.apache.cxf.tools.java2wsdl.JavaToWSDL.main(JavaToWSDL.java:42)

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