[
https://issues.apache.org/jira/browse/CAMEL-19161?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17701786#comment-17701786
]
Jeremy Ross commented on CAMEL-19161:
-------------------------------------
I think the lazy login feature makes more sense when you're only using
salesforce producer routes. If you're using a salesforce consumer route, then
you would need to make sure the route doesn't get started until the login
information is supplied since createClient is called during the start phase.
Question for you [~nfilotto]: What's the use case for using a salesforce
consumer route with lazy login?
> camel-salesforce - Connection issue when using lazy login
> ---------------------------------------------------------
>
> Key: CAMEL-19161
> URL: https://issues.apache.org/jira/browse/CAMEL-19161
> Project: Camel
> Issue Type: Bug
> Components: camel-salesforce
> Affects Versions: 3.11.1
> Reporter: Nicolas Filotto
> Priority: Minor
>
> When we enable lazy login, we end up with an exception of type:
> {noformat}
> 2023-03-16 16:49:40,743 [main ] WARN SalesforceComponent
> - Missing property packages, getSObject* operations will NOT work without
> property rawPayload=true
> 2023-03-16 16:49:53,432 [main ] INFO SalesforceSession
> - Login at Salesforce loginUrl:
> https://login.salesforce.com/services/oauth2/token
> 2023-03-16 16:50:28,009 [main ] INFO SalesforceSession
> - Login successful
> 2023-03-16 16:50:33,456 [forceHttpClient] WARN SubscriptionHelper
> - Handshake failure: {failure={exception=java.lang.IllegalArgumentException:
> Invalid protocol null, message={ext={replay=true},
> supportedConnectionTypes=[long-polling], channel=/meta/handshake, id=1,
> version=1.0}, connectionType=long-polling}, channel=/meta/handshake, id=1,
> successful=false}
> 2023-03-16 16:50:33,457 [forceHttpClient] INFO SubscriptionHelper
> - Handshaking after unexpected disconnect from Salesforce...
> 2023-03-16 16:50:57,019 [forceHttpClient] WARN SubscriptionHelper
> - Handshake failure: {failure={exception=java.lang.IllegalArgumentException:
> Invalid protocol null, message={ext={replay=true},
> supportedConnectionTypes=[long-polling], channel=/meta/handshake, id=2,
> version=1.0}, connectionType=long-polling}, channel=/meta/handshake, id=2,
> successful=false}
> 2023-03-16 16:51:00,769 [forceHttpClient] WARN SubscriptionHelper
> - Handshake failure: {failure={exception=java.lang.IllegalArgumentException:
> Invalid protocol null, message={ext={replay=true},
> supportedConnectionTypes=[long-polling], channel=/meta/handshake, id=3,
> version=1.0}, connectionType=long-polling}, channel=/meta/handshake, id=3,
> successful=false}
> {noformat}
> After a deeper investigation, it is due to the fact that when [creating the
> {{BayeuxClient}} during
> startup|https://github.com/apache/camel/blob/main/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/streaming/SubscriptionHelper.java#L405],
> it calls {{component.getSession().getInstanceUrl()}} to build the Url used
> by the client to connect but the instance Url is null as long as it not
> connected.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)