You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Otavio Rodolfo Piske (Jira)" <ji...@apache.org> on 2020/05/14 15:57:00 UTC

[jira] [Created] (CAMEL-15063) Nullpointer Exception in Camel Salesforce

Otavio Rodolfo Piske created CAMEL-15063:
--------------------------------------------

             Summary: Nullpointer Exception in Camel Salesforce
                 Key: CAMEL-15063
                 URL: https://issues.apache.org/jira/browse/CAMEL-15063
             Project: Camel
          Issue Type: Bug
          Components: camel-salesforce
    Affects Versions: 3.2.0
            Reporter: Otavio Rodolfo Piske


While working on an integration test for the Camel Kafka Connector, which uses 3.2.0, I found what appears to be a problem in Camel Salesforce.

 
{code:java}
2020-05-14 17:22:48,758 [ool-68-thread-1] ERROR org.apache.camel.impl.engine.AbstractCamelContext - Error starting CamelContext (camel-1) due to exception thrown: null
java.lang.NullPointerException: null
 at org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper.createClient(SubscriptionHelper.java:343) ~[camel-salesforce-3.2.0.jar:3.2.0]
 at org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper.doStart(SubscriptionHelper.java:111) ~[camel-salesforce-3.2.0.jar:3.2.0]
 at org.apache.camel.support.service.BaseService.start(BaseService.java:115) ~[camel-api-3.2.0.jar:3.2.0]
 at org.apache.camel.support.service.ServiceHelper.startService(ServiceHelper.java:84) ~[camel-api-3.2.0.jar:3.2.0]
 at org.apache.camel.component.salesforce.SalesforceConsumer.doStart(SalesforceConsumer.java:320) ~[camel-salesforce-3.2.0.jar:3.2.0]
 at org.apache.camel.support.service.BaseService.start(BaseService.java:115) ~[camel-api-3.2.0.jar:3.2.0]
 at org.apache.camel.impl.engine.AbstractCamelContext.startService(AbstractCamelContext.java:3056) ~[camel-base-3.2.0.jar:3.2.0]
 at org.apache.camel.impl.engine.AbstractCamelContext.doStartOrResumeRouteConsumers(AbstractCamelContext.java:3394) ~[camel-base-3.2.0.jar:3.2.0]
 at org.apache.camel.impl.engine.AbstractCamelContext.doStartRouteConsumers(AbstractCamelContext.java:3325) ~[camel-base-3.2.0.jar:3.2.0]
 at org.apache.camel.impl.engine.AbstractCamelContext.safelyStartRouteServices(AbstractCamelContext.java:3230) ~[camel-base-3.2.0.jar:3.2.0]
 at org.apache.camel.impl.engine.AbstractCamelContext.doStartOrResumeRoutes(AbstractCamelContext.java:2992) ~[camel-base-3.2.0.jar:3.2.0]
 at org.apache.camel.impl.engine.AbstractCamelContext.doStartCamel(AbstractCamelContext.java:2790) ~[camel-base-3.2.0.jar:3.2.0]
 at org.apache.camel.impl.engine.AbstractCamelContext.doStartContext(AbstractCamelContext.java:2643) [camel-base-3.2.0.jar:3.2.0]
 at org.apache.camel.impl.engine.AbstractCamelContext.doStart(AbstractCamelContext.java:2606) [camel-base-3.2.0.jar:3.2.0]
 at org.apache.camel.support.service.BaseService.start(BaseService.java:115) [camel-api-3.2.0.jar:3.2.0]
 at org.apache.camel.impl.engine.AbstractCamelContext.start(AbstractCamelContext.java:2448) [camel-base-3.2.0.jar:3.2.0]
 at org.apache.camel.main.Main.doStart(Main.java:118) [camel-main-3.2.0.jar:3.2.0]
 at org.apache.camel.support.service.BaseService.start(BaseService.java:115) [camel-api-3.2.0.jar:3.2.0]
 at org.apache.camel.main.MainSupport.run(MainSupport.java:83) [camel-main-3.2.0.jar:3.2.0]
 at org.apache.camel.kafkaconnector.utils.CamelMainSupport$CamelContextStarter.run(CamelMainSupport.java:224) [classes/:?]
 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_252]
 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_252]{code}
 

The problem seems to be related to the following set of conditions.
 # A SalesforceHTTPClient is not defined: [https://github.com/apache/camel/blob/release/3.2.0/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/SalesforceComponent.java#L328]
 # Therefore, the default Jetty one would be created: [https://github.com/apache/camel/blob/release/3.2.0/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/SalesforceComponent.java#L335]
 # Subsequently, the ServiceHelper performs the initialization of the SubscriptionHelper: [https://github.com/apache/camel/blob/release/3.2.0/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/SalesforceComponent.java#L371]
 # This, eventually, would call the doStart() method of the SubscriptionHelper: [https://github.com/apache/camel/blob/399f352a2e1a25d6a8af78d0ff7048c60c659522/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/streaming/SubscriptionHelper.java#L108]
 # Which would try to create the Bayeux client: [https://github.com/apache/camel/blob/399f352a2e1a25d6a8af78d0ff7048c60c659522/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/streaming/SubscriptionHelper.java#L111]
 # However, to do so, it tries uses the shared that Jetty HTTP client: [https://github.com/apache/camel/blob/399f352a2e1a25d6a8af78d0ff7048c60c659522/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/streaming/SubscriptionHelper.java#L340]

 

The problem is that it tries to use the http client from the SalesforceEndpointConfig instance and, in no point between steps 1 and 6, it seems to have set the instanced created on the step 1 to the instance of that class.

 

 

 

 

 

 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)