Я пытаюсь узнать, как реализовать интеграцию с продажами, но мне очень не хватает документации в этой области. У меня очень простой маршрут, который я пытаюсь протестировать, используя только верблюда.
Это мой маршрут:
public void configure() throws Exception {
from("salesforce:query?sObjectQuery = "+myQuery)
.log(body().toString());
}
По какой-то причине я получаю следующую ошибку при запуске этого маршрута, и я получаю очень минимальное сообщение об ошибке с небольшим количеством полезной информации или без нее. Ошибка
Failed to create route route1: Route(route1)[[From[salesforce:query?sObjectQuery]] -> [SetB... because of Failed to resolve endpoint: salesforce://query?sObjectQuery= due to: Cannot auto create component: salesforce
При поиске ошибки я обнаружил только, что эта ошибка обычно вызвана отсутствием зависимости для коннектора salesforce внутри pom. Но у меня есть эта зависимость, и я также вижу camel-salesforce.jar в пути к классам моего проекта.
Я исследовал рабочие примеры отдела продаж с Camel и почти ничего не нашел. Я нашел несколько примеров с использованием JBoss Fuse. Но Я не могу понять какая разница между JBoss Fuse и Camel и зачем нужен Jboss. Требуется ли Jboss fuse для интеграции Salesforce с camel? Или одного верблюда должно хватить для запуска моего кода? В чем смысл JBoss Fuse и нужно ли его использовать?
Я считаю, что документации по разъему Salesforce для Camel очень не хватает, и поэтому я был бы очень признателен за любую информацию об этой ошибке и о разнице между предохранителем JBoss и Camel.
Спасибо, я проверю. @SoucianceEqdamRashti
Я нашел решение этого. Вам необходимо определить компонент с помощью SalesforceLoginConfig, и добавить этот компонент, который затем должен быть добавлен в контекст верблюда. В документации по продажам верблюда об этом нигде не упоминается, и это действительно нужно добавить, чтобы сэкономить время людей.
SalesforceComponent component = new SalesforceComponent();
final SalesforceEndpointConfig config = new SalesforceEndpointConfig();
config.setApiVersion(System.getProperty("apiVersion", "28.0"));
component.setConfig(config);
SalesforceLoginConfig loginConfig = new SalesforceLoginConfig();
loginConfig.setClientId("clientId");
loginConfig.setClientSecret("ClientSecret");
loginConfig.setUserName("username");
loginConfig.setPassword("password");
loginConfig.setLoginUrl("url");
component.setLoginConfig(loginConfig);
context.addComponent("salesforce", component);
JBoss Fuse - коммерческое предложение Red Hat. Вам не нужно смотреть на это, если вы не покупаете у Red Hat их стек промежуточного программного обеспечения. Что касается документации, Camel переделывает свою документацию, которая неуместна. Лучше всего зайти на github в репозиторий Camel, перейти к компоненту Salesforce и просмотреть модульные тесты.