You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@camel.apache.org by "Sven Zethelius (JIRA)" <ji...@apache.org> on 2011/06/08 23:08:00 UTC

[jira] [Created] (CAMEL-4073) Misconfigured CXF Endpoint url results in NPE instead of actual exception.

Misconfigured CXF Endpoint url results in NPE instead of actual exception.  
----------------------------------------------------------------------------

                 Key: CAMEL-4073
                 URL: https://issues.apache.org/jira/browse/CAMEL-4073
             Project: Camel
          Issue Type: Bug
          Components: camel-cxf
    Affects Versions: 2.7.2
         Environment: Spring 3.0.5.RELEASE, CXF 2.3.2, Camel 2.7.2
            Reporter: Sven Zethelius


I'm new to Camel, trying to setup the JMS CXF service based on the [http://camel.apache.org/better-jms-transport-for-cxf-webservice-using-apache-camel.html], but with our own JMS services.  In the process I transposed some configuration and ended up with an NPE when CXF tried to start.

The URL passed to jaxws:endpoint/@address="tcp://MyDomainServer1:2506,tcp://MyDomainServer1:2506".  I know this wasn't what camel expected here, after debugging, but wanted to open a bug, since the actual meaningful exception is actually lost due to an NPE.

Expected Exception.  this was obtained with a debugger in CXF/camel before the NPE is thrown.
{code}
org.apache.camel.ResolveEndpointFailedException: Failed to resolve endpoint: MyDomainServer1://2506,tcp://MyDomainServer2:2506 due to: No component found with scheme: MyDomainServer1
	at org.apache.camel.impl.DefaultCamelContext.getEndpoint(DefaultCamelContext.java:457)
	at org.apache.camel.component.cxf.transport.CamelDestination.activate(CamelDestination.java:116)
	at org.apache.cxf.transport.AbstractObservable.setMessageObserver(AbstractObservable.java:48)
	at org.apache.cxf.binding.AbstractBindingFactory.addListener(AbstractBindingFactory.java:181)
	at org.apache.cxf.endpoint.ServerImpl.start(ServerImpl.java:127)
	at org.apache.cxf.jaxws.EndpointImpl.doPublish(EndpointImpl.java:334)
	at org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:239)
	at org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:489)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1544)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1485)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1417)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:580)
	at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895)
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)
	at org.apache.cxf.bus.spring.BusApplicationContext.<init>(BusApplicationContext.java:91)
	at org.apache.cxf.bus.spring.SpringBusFactory.createApplicationContext(SpringBusFactory.java:102)
	at org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:93)
	at org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:86)
	at org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:64)
	at org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:53)
	at com.expedia.cc.container.remoting.prototype.Main.main(Main.java:37)

{code}

The Actual Exception was:
{code}
Exception in thread "main" java.lang.RuntimeException: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'JMS_prototype.Server': Invocation of init method failed; nested exception is javax.xml.ws.WebServiceException: java.lang.NullPointerException
	at org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:96)
	at org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:86)
	at org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:64)
	at org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:53)
	at com.expedia.cc.container.remoting.prototype.Main.main(Main.java:37)
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'JMS_prototype.Server': Invocation of init method failed; nested exception is javax.xml.ws.WebServiceException: java.lang.NullPointerException
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1420)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:580)
	at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895)
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)
	at org.apache.cxf.bus.spring.BusApplicationContext.<init>(BusApplicationContext.java:91)
	at org.apache.cxf.bus.spring.SpringBusFactory.createApplicationContext(SpringBusFactory.java:102)
	at org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:93)
	... 4 more
Caused by: javax.xml.ws.WebServiceException: java.lang.NullPointerException
	at org.apache.cxf.jaxws.EndpointImpl.doPublish(EndpointImpl.java:343)
	at org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:239)
	at org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:489)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1544)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1485)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1417)
	... 16 more
Caused by: java.lang.NullPointerException
	at org.apache.camel.FailedToCreateConsumerException.<init>(FailedToCreateConsumerException.java:31)
	at org.apache.camel.component.cxf.transport.CamelDestination.activate(CamelDestination.java:120)
	at org.apache.cxf.transport.AbstractObservable.setMessageObserver(AbstractObservable.java:48)
	at org.apache.cxf.binding.AbstractBindingFactory.addListener(AbstractBindingFactory.java:181)
	at org.apache.cxf.endpoint.ServerImpl.start(ServerImpl.java:127)
	at org.apache.cxf.jaxws.EndpointImpl.doPublish(EndpointImpl.java:334)
	... 25 more
{code}

Basically the problem is that the {{destinationEndpoint = getCamelContext().getEndpoint(camelDestinationUri);}} call fails, resulting the the FailedToCreateConsumerException first parameter to be null.  Since its internally expecting the endpoint to not be null, it NPE's.  Fix is most likely to make FailedToCreateConsumerException null safe.  Since it principly uses the endpoint to get the URI, you could make a constructor that took the URI that you were trying to configure, instead of relying on an already created endpoint.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Resolved] (CAMEL-4073) Misconfigured CXF Endpoint url results in NPE instead of actual exception.

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

Willem Jiang resolved CAMEL-4073.
---------------------------------

       Resolution: Fixed
    Fix Version/s: 2.8.0

Applied patch with thanks to Dan :)

> Misconfigured CXF Endpoint url results in NPE instead of actual exception.  
> ----------------------------------------------------------------------------
>
>                 Key: CAMEL-4073
>                 URL: https://issues.apache.org/jira/browse/CAMEL-4073
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-cxf
>    Affects Versions: 2.7.2
>         Environment: Spring 3.0.5.RELEASE, CXF 2.3.2, Camel 2.7.2
>            Reporter: Sven Zethelius
>            Assignee: Daniel Kulp
>             Fix For: 2.8.0
>
>         Attachments: CAMEL-4073.patch
>
>
> I'm new to Camel, trying to setup the JMS CXF service based on the [http://camel.apache.org/better-jms-transport-for-cxf-webservice-using-apache-camel.html], but with our own JMS services.  In the process I transposed some configuration and ended up with an NPE when CXF tried to start.
> The URL passed to jaxws:endpoint/@address="tcp://MyDomainServer1:2506,tcp://MyDomainServer1:2506".  I know this wasn't what camel expected here, after debugging, but wanted to open a bug, since the actual meaningful exception is actually lost due to an NPE.
> Expected Exception.  this was obtained with a debugger in CXF/camel before the NPE is thrown.
> {code}
> org.apache.camel.ResolveEndpointFailedException: Failed to resolve endpoint: MyDomainServer1://2506,tcp://MyDomainServer2:2506 due to: No component found with scheme: MyDomainServer1
> 	at org.apache.camel.impl.DefaultCamelContext.getEndpoint(DefaultCamelContext.java:457)
> 	at org.apache.camel.component.cxf.transport.CamelDestination.activate(CamelDestination.java:116)
> 	at org.apache.cxf.transport.AbstractObservable.setMessageObserver(AbstractObservable.java:48)
> 	at org.apache.cxf.binding.AbstractBindingFactory.addListener(AbstractBindingFactory.java:181)
> 	at org.apache.cxf.endpoint.ServerImpl.start(ServerImpl.java:127)
> 	at org.apache.cxf.jaxws.EndpointImpl.doPublish(EndpointImpl.java:334)
> 	at org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:239)
> 	at org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:489)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1544)
> 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1485)
> 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1417)
> 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
> 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
> 	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)
> 	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
> 	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)
> 	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)
> 	at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:580)
> 	at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895)
> 	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)
> 	at org.apache.cxf.bus.spring.BusApplicationContext.<init>(BusApplicationContext.java:91)
> 	at org.apache.cxf.bus.spring.SpringBusFactory.createApplicationContext(SpringBusFactory.java:102)
> 	at org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:93)
> 	at org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:86)
> 	at org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:64)
> 	at org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:53)
> 	at com.expedia.cc.container.remoting.prototype.Main.main(Main.java:37)
> {code}
> The Actual Exception was:
> {code}
> Exception in thread "main" java.lang.RuntimeException: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'JMS_prototype.Server': Invocation of init method failed; nested exception is javax.xml.ws.WebServiceException: java.lang.NullPointerException
> 	at org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:96)
> 	at org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:86)
> 	at org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:64)
> 	at org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:53)
> 	at com.expedia.cc.container.remoting.prototype.Main.main(Main.java:37)
> Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'JMS_prototype.Server': Invocation of init method failed; nested exception is javax.xml.ws.WebServiceException: java.lang.NullPointerException
> 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1420)
> 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
> 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
> 	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)
> 	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
> 	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)
> 	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)
> 	at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:580)
> 	at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895)
> 	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)
> 	at org.apache.cxf.bus.spring.BusApplicationContext.<init>(BusApplicationContext.java:91)
> 	at org.apache.cxf.bus.spring.SpringBusFactory.createApplicationContext(SpringBusFactory.java:102)
> 	at org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:93)
> 	... 4 more
> Caused by: javax.xml.ws.WebServiceException: java.lang.NullPointerException
> 	at org.apache.cxf.jaxws.EndpointImpl.doPublish(EndpointImpl.java:343)
> 	at org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:239)
> 	at org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:489)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1544)
> 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1485)
> 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1417)
> 	... 16 more
> Caused by: java.lang.NullPointerException
> 	at org.apache.camel.FailedToCreateConsumerException.<init>(FailedToCreateConsumerException.java:31)
> 	at org.apache.camel.component.cxf.transport.CamelDestination.activate(CamelDestination.java:120)
> 	at org.apache.cxf.transport.AbstractObservable.setMessageObserver(AbstractObservable.java:48)
> 	at org.apache.cxf.binding.AbstractBindingFactory.addListener(AbstractBindingFactory.java:181)
> 	at org.apache.cxf.endpoint.ServerImpl.start(ServerImpl.java:127)
> 	at org.apache.cxf.jaxws.EndpointImpl.doPublish(EndpointImpl.java:334)
> 	... 25 more
> {code}
> Basically the problem is that the {{destinationEndpoint = getCamelContext().getEndpoint(camelDestinationUri);}} call fails, resulting the the FailedToCreateConsumerException first parameter to be null.  Since its internally expecting the endpoint to not be null, it NPE's.  Fix is most likely to make FailedToCreateConsumerException null safe.  Since it principly uses the endpoint to get the URI, you could make a constructor that took the URI that you were trying to configure, instead of relying on an already created endpoint.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Updated] (CAMEL-4073) Misconfigured CXF Endpoint url results in NPE instead of actual exception.

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

Daniel Kulp updated CAMEL-4073:
-------------------------------

    Fix Version/s: 2.7.3

> Misconfigured CXF Endpoint url results in NPE instead of actual exception.  
> ----------------------------------------------------------------------------
>
>                 Key: CAMEL-4073
>                 URL: https://issues.apache.org/jira/browse/CAMEL-4073
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-cxf
>    Affects Versions: 2.7.2
>         Environment: Spring 3.0.5.RELEASE, CXF 2.3.2, Camel 2.7.2
>            Reporter: Sven Zethelius
>            Assignee: Daniel Kulp
>             Fix For: 2.7.3, 2.8.0
>
>         Attachments: CAMEL-4073.patch
>
>
> I'm new to Camel, trying to setup the JMS CXF service based on the [http://camel.apache.org/better-jms-transport-for-cxf-webservice-using-apache-camel.html], but with our own JMS services.  In the process I transposed some configuration and ended up with an NPE when CXF tried to start.
> The URL passed to jaxws:endpoint/@address="tcp://MyDomainServer1:2506,tcp://MyDomainServer1:2506".  I know this wasn't what camel expected here, after debugging, but wanted to open a bug, since the actual meaningful exception is actually lost due to an NPE.
> Expected Exception.  this was obtained with a debugger in CXF/camel before the NPE is thrown.
> {code}
> org.apache.camel.ResolveEndpointFailedException: Failed to resolve endpoint: MyDomainServer1://2506,tcp://MyDomainServer2:2506 due to: No component found with scheme: MyDomainServer1
> 	at org.apache.camel.impl.DefaultCamelContext.getEndpoint(DefaultCamelContext.java:457)
> 	at org.apache.camel.component.cxf.transport.CamelDestination.activate(CamelDestination.java:116)
> 	at org.apache.cxf.transport.AbstractObservable.setMessageObserver(AbstractObservable.java:48)
> 	at org.apache.cxf.binding.AbstractBindingFactory.addListener(AbstractBindingFactory.java:181)
> 	at org.apache.cxf.endpoint.ServerImpl.start(ServerImpl.java:127)
> 	at org.apache.cxf.jaxws.EndpointImpl.doPublish(EndpointImpl.java:334)
> 	at org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:239)
> 	at org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:489)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1544)
> 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1485)
> 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1417)
> 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
> 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
> 	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)
> 	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
> 	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)
> 	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)
> 	at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:580)
> 	at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895)
> 	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)
> 	at org.apache.cxf.bus.spring.BusApplicationContext.<init>(BusApplicationContext.java:91)
> 	at org.apache.cxf.bus.spring.SpringBusFactory.createApplicationContext(SpringBusFactory.java:102)
> 	at org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:93)
> 	at org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:86)
> 	at org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:64)
> 	at org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:53)
> 	at com.expedia.cc.container.remoting.prototype.Main.main(Main.java:37)
> {code}
> The Actual Exception was:
> {code}
> Exception in thread "main" java.lang.RuntimeException: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'JMS_prototype.Server': Invocation of init method failed; nested exception is javax.xml.ws.WebServiceException: java.lang.NullPointerException
> 	at org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:96)
> 	at org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:86)
> 	at org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:64)
> 	at org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:53)
> 	at com.expedia.cc.container.remoting.prototype.Main.main(Main.java:37)
> Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'JMS_prototype.Server': Invocation of init method failed; nested exception is javax.xml.ws.WebServiceException: java.lang.NullPointerException
> 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1420)
> 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
> 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
> 	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)
> 	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
> 	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)
> 	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)
> 	at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:580)
> 	at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895)
> 	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)
> 	at org.apache.cxf.bus.spring.BusApplicationContext.<init>(BusApplicationContext.java:91)
> 	at org.apache.cxf.bus.spring.SpringBusFactory.createApplicationContext(SpringBusFactory.java:102)
> 	at org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:93)
> 	... 4 more
> Caused by: javax.xml.ws.WebServiceException: java.lang.NullPointerException
> 	at org.apache.cxf.jaxws.EndpointImpl.doPublish(EndpointImpl.java:343)
> 	at org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:239)
> 	at org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:489)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1544)
> 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1485)
> 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1417)
> 	... 16 more
> Caused by: java.lang.NullPointerException
> 	at org.apache.camel.FailedToCreateConsumerException.<init>(FailedToCreateConsumerException.java:31)
> 	at org.apache.camel.component.cxf.transport.CamelDestination.activate(CamelDestination.java:120)
> 	at org.apache.cxf.transport.AbstractObservable.setMessageObserver(AbstractObservable.java:48)
> 	at org.apache.cxf.binding.AbstractBindingFactory.addListener(AbstractBindingFactory.java:181)
> 	at org.apache.cxf.endpoint.ServerImpl.start(ServerImpl.java:127)
> 	at org.apache.cxf.jaxws.EndpointImpl.doPublish(EndpointImpl.java:334)
> 	... 25 more
> {code}
> Basically the problem is that the {{destinationEndpoint = getCamelContext().getEndpoint(camelDestinationUri);}} call fails, resulting the the FailedToCreateConsumerException first parameter to be null.  Since its internally expecting the endpoint to not be null, it NPE's.  Fix is most likely to make FailedToCreateConsumerException null safe.  Since it principly uses the endpoint to get the URI, you could make a constructor that took the URI that you were trying to configure, instead of relying on an already created endpoint.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (CAMEL-4073) Misconfigured CXF Endpoint url results in NPE instead of actual exception.

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

Daniel Kulp updated CAMEL-4073:
-------------------------------

    Attachment: CAMEL-4073.patch


Attached a Patch for this.   

The proposal above calls for a modification of the FailedToCreateConsumerException to handle this.   However, the proper fix is likely to throw a NoSuchEndpointException in this particular case.   The patch does that, however, if something ELSE goes wrong, it does use the original proposed modification to get something better than an NPE. 




> Misconfigured CXF Endpoint url results in NPE instead of actual exception.  
> ----------------------------------------------------------------------------
>
>                 Key: CAMEL-4073
>                 URL: https://issues.apache.org/jira/browse/CAMEL-4073
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-cxf
>    Affects Versions: 2.7.2
>         Environment: Spring 3.0.5.RELEASE, CXF 2.3.2, Camel 2.7.2
>            Reporter: Sven Zethelius
>            Assignee: Daniel Kulp
>         Attachments: CAMEL-4073.patch
>
>
> I'm new to Camel, trying to setup the JMS CXF service based on the [http://camel.apache.org/better-jms-transport-for-cxf-webservice-using-apache-camel.html], but with our own JMS services.  In the process I transposed some configuration and ended up with an NPE when CXF tried to start.
> The URL passed to jaxws:endpoint/@address="tcp://MyDomainServer1:2506,tcp://MyDomainServer1:2506".  I know this wasn't what camel expected here, after debugging, but wanted to open a bug, since the actual meaningful exception is actually lost due to an NPE.
> Expected Exception.  this was obtained with a debugger in CXF/camel before the NPE is thrown.
> {code}
> org.apache.camel.ResolveEndpointFailedException: Failed to resolve endpoint: MyDomainServer1://2506,tcp://MyDomainServer2:2506 due to: No component found with scheme: MyDomainServer1
> 	at org.apache.camel.impl.DefaultCamelContext.getEndpoint(DefaultCamelContext.java:457)
> 	at org.apache.camel.component.cxf.transport.CamelDestination.activate(CamelDestination.java:116)
> 	at org.apache.cxf.transport.AbstractObservable.setMessageObserver(AbstractObservable.java:48)
> 	at org.apache.cxf.binding.AbstractBindingFactory.addListener(AbstractBindingFactory.java:181)
> 	at org.apache.cxf.endpoint.ServerImpl.start(ServerImpl.java:127)
> 	at org.apache.cxf.jaxws.EndpointImpl.doPublish(EndpointImpl.java:334)
> 	at org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:239)
> 	at org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:489)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1544)
> 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1485)
> 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1417)
> 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
> 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
> 	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)
> 	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
> 	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)
> 	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)
> 	at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:580)
> 	at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895)
> 	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)
> 	at org.apache.cxf.bus.spring.BusApplicationContext.<init>(BusApplicationContext.java:91)
> 	at org.apache.cxf.bus.spring.SpringBusFactory.createApplicationContext(SpringBusFactory.java:102)
> 	at org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:93)
> 	at org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:86)
> 	at org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:64)
> 	at org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:53)
> 	at com.expedia.cc.container.remoting.prototype.Main.main(Main.java:37)
> {code}
> The Actual Exception was:
> {code}
> Exception in thread "main" java.lang.RuntimeException: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'JMS_prototype.Server': Invocation of init method failed; nested exception is javax.xml.ws.WebServiceException: java.lang.NullPointerException
> 	at org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:96)
> 	at org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:86)
> 	at org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:64)
> 	at org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:53)
> 	at com.expedia.cc.container.remoting.prototype.Main.main(Main.java:37)
> Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'JMS_prototype.Server': Invocation of init method failed; nested exception is javax.xml.ws.WebServiceException: java.lang.NullPointerException
> 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1420)
> 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
> 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
> 	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)
> 	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
> 	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)
> 	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)
> 	at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:580)
> 	at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895)
> 	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)
> 	at org.apache.cxf.bus.spring.BusApplicationContext.<init>(BusApplicationContext.java:91)
> 	at org.apache.cxf.bus.spring.SpringBusFactory.createApplicationContext(SpringBusFactory.java:102)
> 	at org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:93)
> 	... 4 more
> Caused by: javax.xml.ws.WebServiceException: java.lang.NullPointerException
> 	at org.apache.cxf.jaxws.EndpointImpl.doPublish(EndpointImpl.java:343)
> 	at org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:239)
> 	at org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:489)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1544)
> 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1485)
> 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1417)
> 	... 16 more
> Caused by: java.lang.NullPointerException
> 	at org.apache.camel.FailedToCreateConsumerException.<init>(FailedToCreateConsumerException.java:31)
> 	at org.apache.camel.component.cxf.transport.CamelDestination.activate(CamelDestination.java:120)
> 	at org.apache.cxf.transport.AbstractObservable.setMessageObserver(AbstractObservable.java:48)
> 	at org.apache.cxf.binding.AbstractBindingFactory.addListener(AbstractBindingFactory.java:181)
> 	at org.apache.cxf.endpoint.ServerImpl.start(ServerImpl.java:127)
> 	at org.apache.cxf.jaxws.EndpointImpl.doPublish(EndpointImpl.java:334)
> 	... 25 more
> {code}
> Basically the problem is that the {{destinationEndpoint = getCamelContext().getEndpoint(camelDestinationUri);}} call fails, resulting the the FailedToCreateConsumerException first parameter to be null.  Since its internally expecting the endpoint to not be null, it NPE's.  Fix is most likely to make FailedToCreateConsumerException null safe.  Since it principly uses the endpoint to get the URI, you could make a constructor that took the URI that you were trying to configure, instead of relying on an already created endpoint.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Assigned] (CAMEL-4073) Misconfigured CXF Endpoint url results in NPE instead of actual exception.

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

Daniel Kulp reassigned CAMEL-4073:
----------------------------------

    Assignee: Daniel Kulp

> Misconfigured CXF Endpoint url results in NPE instead of actual exception.  
> ----------------------------------------------------------------------------
>
>                 Key: CAMEL-4073
>                 URL: https://issues.apache.org/jira/browse/CAMEL-4073
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-cxf
>    Affects Versions: 2.7.2
>         Environment: Spring 3.0.5.RELEASE, CXF 2.3.2, Camel 2.7.2
>            Reporter: Sven Zethelius
>            Assignee: Daniel Kulp
>
> I'm new to Camel, trying to setup the JMS CXF service based on the [http://camel.apache.org/better-jms-transport-for-cxf-webservice-using-apache-camel.html], but with our own JMS services.  In the process I transposed some configuration and ended up with an NPE when CXF tried to start.
> The URL passed to jaxws:endpoint/@address="tcp://MyDomainServer1:2506,tcp://MyDomainServer1:2506".  I know this wasn't what camel expected here, after debugging, but wanted to open a bug, since the actual meaningful exception is actually lost due to an NPE.
> Expected Exception.  this was obtained with a debugger in CXF/camel before the NPE is thrown.
> {code}
> org.apache.camel.ResolveEndpointFailedException: Failed to resolve endpoint: MyDomainServer1://2506,tcp://MyDomainServer2:2506 due to: No component found with scheme: MyDomainServer1
> 	at org.apache.camel.impl.DefaultCamelContext.getEndpoint(DefaultCamelContext.java:457)
> 	at org.apache.camel.component.cxf.transport.CamelDestination.activate(CamelDestination.java:116)
> 	at org.apache.cxf.transport.AbstractObservable.setMessageObserver(AbstractObservable.java:48)
> 	at org.apache.cxf.binding.AbstractBindingFactory.addListener(AbstractBindingFactory.java:181)
> 	at org.apache.cxf.endpoint.ServerImpl.start(ServerImpl.java:127)
> 	at org.apache.cxf.jaxws.EndpointImpl.doPublish(EndpointImpl.java:334)
> 	at org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:239)
> 	at org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:489)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1544)
> 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1485)
> 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1417)
> 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
> 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
> 	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)
> 	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
> 	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)
> 	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)
> 	at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:580)
> 	at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895)
> 	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)
> 	at org.apache.cxf.bus.spring.BusApplicationContext.<init>(BusApplicationContext.java:91)
> 	at org.apache.cxf.bus.spring.SpringBusFactory.createApplicationContext(SpringBusFactory.java:102)
> 	at org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:93)
> 	at org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:86)
> 	at org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:64)
> 	at org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:53)
> 	at com.expedia.cc.container.remoting.prototype.Main.main(Main.java:37)
> {code}
> The Actual Exception was:
> {code}
> Exception in thread "main" java.lang.RuntimeException: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'JMS_prototype.Server': Invocation of init method failed; nested exception is javax.xml.ws.WebServiceException: java.lang.NullPointerException
> 	at org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:96)
> 	at org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:86)
> 	at org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:64)
> 	at org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:53)
> 	at com.expedia.cc.container.remoting.prototype.Main.main(Main.java:37)
> Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'JMS_prototype.Server': Invocation of init method failed; nested exception is javax.xml.ws.WebServiceException: java.lang.NullPointerException
> 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1420)
> 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
> 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
> 	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)
> 	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
> 	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)
> 	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)
> 	at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:580)
> 	at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895)
> 	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)
> 	at org.apache.cxf.bus.spring.BusApplicationContext.<init>(BusApplicationContext.java:91)
> 	at org.apache.cxf.bus.spring.SpringBusFactory.createApplicationContext(SpringBusFactory.java:102)
> 	at org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:93)
> 	... 4 more
> Caused by: javax.xml.ws.WebServiceException: java.lang.NullPointerException
> 	at org.apache.cxf.jaxws.EndpointImpl.doPublish(EndpointImpl.java:343)
> 	at org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:239)
> 	at org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:489)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1544)
> 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1485)
> 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1417)
> 	... 16 more
> Caused by: java.lang.NullPointerException
> 	at org.apache.camel.FailedToCreateConsumerException.<init>(FailedToCreateConsumerException.java:31)
> 	at org.apache.camel.component.cxf.transport.CamelDestination.activate(CamelDestination.java:120)
> 	at org.apache.cxf.transport.AbstractObservable.setMessageObserver(AbstractObservable.java:48)
> 	at org.apache.cxf.binding.AbstractBindingFactory.addListener(AbstractBindingFactory.java:181)
> 	at org.apache.cxf.endpoint.ServerImpl.start(ServerImpl.java:127)
> 	at org.apache.cxf.jaxws.EndpointImpl.doPublish(EndpointImpl.java:334)
> 	... 25 more
> {code}
> Basically the problem is that the {{destinationEndpoint = getCamelContext().getEndpoint(camelDestinationUri);}} call fails, resulting the the FailedToCreateConsumerException first parameter to be null.  Since its internally expecting the endpoint to not be null, it NPE's.  Fix is most likely to make FailedToCreateConsumerException null safe.  Since it principly uses the endpoint to get the URI, you could make a constructor that took the URI that you were trying to configure, instead of relying on an already created endpoint.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira