【问题标题】:salesforce EMP connector API version 37.0 failing with error message unsupported API versionsalesforce EMP 连接器 API 版本 37.0 失败并显示错误消息不受支持的 API 版本
【发布时间】:2017-02-16 22:29:58
【问题描述】:

我正在使用 emp-connector 来使用 salesforce straming API,我从 salesforce 文档中的 LogingExample 及其 API 版本 36.0 的工作文件开始,但是当我尝试使用 API 版本 37.0 时。

我收到以下回复

[{"channel":"/meta/handshake","error":"400::不支持的 API 版本。 只有 API 版本“35.0”和“36.0”是 支持。","成功":false}]

当我指定 API 版本 36.0 时,我的代码工作正常并通过 PushTopic 接收事件

我知道应该支持 API 版本 37.0,所以无法找出我做错了什么?

代码没有问题,因为当我指定 API 版本 36.0 时它工作正常,仍然在此处粘贴代码以供参考

public class SFPoc {
public static void main(String[] argv) throws Exception {
    String userName = "<someuser>";
    String password = "<pwd>";
    /*String pushTopicName = "/topic/InvoiceStatementUpdates";*/
    String pushTopicName = "/topic/Lead2";
    long replayFrom = EmpConnector.REPLAY_FROM_EARLIEST;
    String securityToken = "<securityToken>";

    BayeuxParameters custom = getBayeuxParamWithSpecifiedAPIVersion("37.0");
    BayeuxParameters params = null;
    try {
        params = login(userName, password +  securityToken, custom);
    } catch (Exception e) {
        e.printStackTrace();
    }

    Consumer<Map<String, Object>> consumer = event -> System.out.println(String.format("Received:\n%s", event));
    EmpConnector connector = new EmpConnector(params);

    connector.start().get(10, TimeUnit.SECONDS);

    TopicSubscription subscription = connector.subscribe(pushTopicName, replayFrom, consumer).get(10, TimeUnit.SECONDS);

    System.out.println(String.format("Subscribed: %s", subscription));
}

private static BayeuxParameters getBayeuxParamWithSpecifiedAPIVersion(String apiVersion) {
    BayeuxParameters params = new BayeuxParameters() {

        @Override
        public String version() {
            return apiVersion;
        }

        @Override
        public String bearerToken() {
            return null;
        }

    };
    return  params;
}
}

【问题讨论】:

    标签: java salesforce connector


    【解决方案1】:

    我已经在 emp-connector 中向 master 推送了一个更改,该更改修改了版本

    【讨论】:

    • 非常感谢,有时间我会试试的,会在这里更新结果
    • 尝试使用 37.0 版时,我仍然遇到同样的错误
    • 还有一件事,正如我在问题中提到的,它始终使用 36.0 版,我面临的问题是当我指定 37.0 版时
    • 实际上它在对 EMP 代码进行小修改后确实有效,我认为您错过了修改 COMETD_REPLAY 的一小部分,COMETD_REPLAY 和 COMETD_REPLAY_OLD 都指向相同
    • 能否请您检查并推送此更改,谢谢
    猜你喜欢
    • 1970-01-01
    • 2015-05-25
    • 1970-01-01
    • 2019-07-04
    • 2011-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-20
    相关资源
    最近更新 更多