私はsalesforce straming APIを使用するためにemp-connectorを使用していますが、SalesforceのドキュメンテーションのLogingExampleとAPIバージョン36.0の作業ファイルから始めました。 APIバージョン37.0を使用してください。salesforce EMPコネクタAPIバージョン37.0エラーメッセージでサポートされていないサポートされていないAPIバージョン
私は戻って
を次の応答を取得[{ "チャンネル" しています: "/メタ/ハンドシェイク"、 "エラー": "400 ::サポートされていないAPIのバージョン のみAPIのバージョン'35 .0' と ' 36.0' は、 がサポートされている 『』 "成功:偽}]
と私は36.0私のコードは正常に動作し、私はAPIバージョン37.0があるべきことを知っているPushTopic
経由でイベントが供給されたAPIのバージョンを指定する場合s私が間違っていることを知ることができませんでしたか?私はまだ参考のためにここにコードを貼り付けて、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;
}
}
いつも試してみて、ここで結果を更新します – sourabh
バージョン37.0で試しても同じエラーが表示されます – sourabh
もう1つ質問しましたが、バージョン36.0で動作していました。私が直面しているのは、バージョン37.0を指定したときです – sourabh