Thanks Otavio! After setting the API to 48 I can now receive the Event.
On Thu, May 21, 2020 at 8:29 PM Otavio Rodolfo Piske <[email protected]> wrote: > > Hello, > > I think it might be related to the Salesforce API version. Camel uses 34.0 > by default and I think you need, at least, 37.0. I noticed a similar > condition when working on the Salesforce test cases for the Camel Kafka > Connector. > > I am quoting below the comment I added to the test case as to why this > seemed to happen on that occasion: > > /* > * NOTE: this test requires SalesForce API >= than 37.0. Camel defaults to > * API version 34.0. > * > * The reason is that on older versions of this API did not return the list > * of supported extensions during the hand-shake (ie.: > * ext={replay=true, payload.format=true}). This behavior causes the rcvMeta > * handler on the CometDReplayExtension class in the salesforce component to > * consider the replay extension as "not supported". > * > * Subsequently, when using the /meta/subscribe channel to subscribe to > * account change events on /data/AccountChangeEvent, the replay ID is not > * provided on the request message - and it is a required parameter. This > * leads to a situation where the Salesforce API server returns a plain > * HTTP error 500 without much details. > */ > > I hope this helps somehow. > > Kind regards > > > On Thu, May 21, 2020 at 8:56 AM Anne Nguyen <[email protected]> wrote: > > > Hi All, > > > > I'm trying to subscribe to a Platform Event in Salesforce: > > > > from("salesforce:event/Moodle__e?replayId=-1") > > .streamCaching() > > .process( exchange ->{ > > PlatformEvent event = > > exchange.getIn().getBody(PlatformEvent.class); > > System.out.println("*********Receive Event : " + > > event.getEventData().toString()); > > }); > > > > However receive the following error: > > > > 2020-05-21 14:23:35.061 WARN 3472 --- [ent@3cad68df-20] > > o.a.c.c.salesforce.SalesforceConsumer : Error subscribing to > > event/Moodle__e: {httpCode=500}. Caused by: > > [org.apache.camel.component.salesforce.api.SalesforceException - Error > > subscribing to event/Moodle__e: {httpCode=500}] > > > > org.apache.camel.component.salesforce.api.SalesforceException: Error > > subscribing to event/Moodle__e: {httpCode=500} > > at > > org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper$7.onMessage(SubscriptionHelper.java:446) > > [camel-salesforce-3.4.0-SNAPSHOT.jar:3.4.0-SNAPSHOT] > > at > > org.cometd.common.AbstractClientSession$AbstractSessionChannel.notifyOnMessage(AbstractClientSession.java:583) > > [cometd-java-common-4.0.4.jar:4.0.4] > > at > > org.cometd.common.AbstractClientSession$AbstractSessionChannel.notifyMessageListeners(AbstractClientSession.java:568) > > [cometd-java-common-4.0.4.jar:4.0.4] > > at > > org.cometd.common.AbstractClientSession.notifyListeners(AbstractClientSession.java:308) > > [cometd-java-common-4.0.4.jar:4.0.4] > > at > > org.cometd.common.AbstractClientSession.lambda$receive$4(AbstractClientSession.java:269) > > [cometd-java-common-4.0.4.jar:4.0.4] > > at org.cometd.bayeux.Promise$2.succeed(Promise.java:103) > > ~[bayeux-api-4.0.4.jar:4.0.4] > > at > > org.cometd.common.AsyncFoldLeft$AbstractLoop.run(AsyncFoldLeft.java:199) > > ~[cometd-java-common-4.0.4.jar:4.0.4] > > at org.cometd.common.AsyncFoldLeft.run(AsyncFoldLeft.java:93) > > ~[cometd-java-common-4.0.4.jar:4.0.4] > > at > > org.cometd.common.AbstractClientSession.extendIncoming(AbstractClientSession.java:103) > > [cometd-java-common-4.0.4.jar:4.0.4] > > at > > org.cometd.common.AbstractClientSession.receive(AbstractClientSession.java:263) > > [cometd-java-common-4.0.4.jar:4.0.4] > > at > > org.cometd.client.BayeuxClient.failMessage(BayeuxClient.java:810) > > ~[cometd-java-client-4.0.4.jar:4.0.4] > > at > > org.cometd.client.BayeuxClient.messageFailure(BayeuxClient.java:806) > > ~[cometd-java-client-4.0.4.jar:4.0.4] > > at > > org.cometd.client.BayeuxClient.messagesFailure(BayeuxClient.java:659) > > ~[cometd-java-client-4.0.4.jar:4.0.4] > > at > > org.cometd.client.BayeuxClient$MessageTransportListener.onFailure(BayeuxClient.java:1266) > > ~[cometd-java-client-4.0.4.jar:4.0.4] > > at > > org.cometd.client.transport.LongPollingTransport$2.onComplete(LongPollingTransport.java:255) > > ~[cometd-java-client-4.0.4.jar:4.0.4] > > at > > org.eclipse.jetty.client.ResponseNotifier.notifyComplete(ResponseNotifier.java:218) > > ~[jetty-client-9.4.27.v20200227.jar:9.4.27.v20200227] > > at > > org.eclipse.jetty.client.ResponseNotifier.notifyComplete(ResponseNotifier.java:210) > > ~[jetty-client-9.4.27.v20200227.jar:9.4.27.v20200227] > > at > > org.eclipse.jetty.client.HttpReceiver.terminateResponse(HttpReceiver.java:543) > > ~[jetty-client-9.4.27.v20200227.jar:9.4.27.v20200227] > > at > > org.eclipse.jetty.client.HttpReceiver.terminateResponse(HttpReceiver.java:523) > > ~[jetty-client-9.4.27.v20200227.jar:9.4.27.v20200227] > > at > > org.eclipse.jetty.client.HttpReceiver.responseSuccess(HttpReceiver.java:486) > > ~[jetty-client-9.4.27.v20200227.jar:9.4.27.v20200227] > > at > > org.eclipse.jetty.client.http.HttpReceiverOverHTTP.messageComplete(HttpReceiverOverHTTP.java:326) > > ~[jetty-client-9.4.27.v20200227.jar:9.4.27.v20200227] > > at > > org.eclipse.jetty.http.HttpParser.parseFields(HttpParser.java:1161) > > ~[jetty-http-9.4.27.v20200227.jar:9.4.27.v20200227] > > at > > org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:1534) > > ~[jetty-http-9.4.27.v20200227.jar:9.4.27.v20200227] > > at > > org.eclipse.jetty.client.http.HttpReceiverOverHTTP.parse(HttpReceiverOverHTTP.java:200) > > ~[jetty-client-9.4.27.v20200227.jar:9.4.27.v20200227] > > at > > org.eclipse.jetty.client.http.HttpReceiverOverHTTP.process(HttpReceiverOverHTTP.java:141) > > ~[jetty-client-9.4.27.v20200227.jar:9.4.27.v20200227] > > at > > org.eclipse.jetty.client.http.HttpReceiverOverHTTP.receive(HttpReceiverOverHTTP.java:75) > > ~[jetty-client-9.4.27.v20200227.jar:9.4.27.v20200227] > > at > > org.eclipse.jetty.client.http.HttpChannelOverHTTP.receive(HttpChannelOverHTTP.java:133) > > ~[jetty-client-9.4.27.v20200227.jar:9.4.27.v20200227] > > at > > org.eclipse.jetty.client.http.HttpConnectionOverHTTP.onFillable(HttpConnectionOverHTTP.java:156) > > ~[jetty-client-9.4.27.v20200227.jar:9.4.27.v20200227] > > at org.eclipse.jetty.io > > .AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311) > > ~[jetty-io-9.4.27.v20200227.jar:9.4.27.v20200227] > > at org.eclipse.jetty.io > > .FillInterest.fillable(FillInterest.java:103) > > ~[jetty-io-9.4.27.v20200227.jar:9.4.27.v20200227] > > at > > org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint.onFillable(SslConnection.java:543) > > ~[jetty-io-9.4.27.v20200227.jar:9.4.27.v20200227] > > at > > org.eclipse.jetty.io.ssl.SslConnection.onFillable(SslConnection.java:398) > > ~[jetty-io-9.4.27.v20200227.jar:9.4.27.v20200227] > > at > > org.eclipse.jetty.io.ssl.SslConnection$2.succeeded(SslConnection.java:161) > > ~[jetty-io-9.4.27.v20200227.jar:9.4.27.v20200227] > > at org.eclipse.jetty.io > > .FillInterest.fillable(FillInterest.java:103) > > ~[jetty-io-9.4.27.v20200227.jar:9.4.27.v20200227] > > at org.eclipse.jetty.io > > .ChannelEndPoint$2.run(ChannelEndPoint.java:117) > > ~[jetty-io-9.4.27.v20200227.jar:9.4.27.v20200227] > > at > > org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336) > > ~[jetty-util-9.4.27.v20200227.jar:9.4.27.v20200227] > > at > > org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313) > > ~[jetty-util-9.4.27.v20200227.jar:9.4.27.v20200227] > > at > > org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171) > > ~[jetty-util-9.4.27.v20200227.jar:9.4.27.v20200227] > > at > > org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:129) > > ~[jetty-util-9.4.27.v20200227.jar:9.4.27.v20200227] > > at > > org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:375) > > ~[jetty-util-9.4.27.v20200227.jar:9.4.27.v20200227] > > at > > org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:806) > > ~[jetty-util-9.4.27.v20200227.jar:9.4.27.v20200227] > > at > > org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:938) > > ~[jetty-util-9.4.27.v20200227.jar:9.4.27.v20200227] > > at java.lang.Thread.run(Thread.java:748) ~[na:1.8.0_251] > > Caused by: org.cometd.common.TransportException: {httpCode=500} > > at > > org.cometd.client.transport.LongPollingTransport$2.onComplete(LongPollingTransport.java:254) > > ~[cometd-java-client-4.0.4.jar:4.0.4] > > ... 28 common frames omitted > > > > I have successfully tested this event with other client app. I also > > tris this suggested solution to turn off the Salesforce Mobile > > Notification but still got the same error: > > > > > > https://salesforce.stackexchange.com/questions/55728/403unknown-client-error-when-connecting-to-streaming-api-push-topic/207824#207824 > > > > Has anyone successfully subscribed to Salesforce Platform Event or has > > encountered this error and know how to workaround? > > > > Many Thanks > > Anne > > > > > -- > Otavio R. Piske > http://orpiske.net
