Estamos realizando un proyecto de integración para una empresa de automoción a nivel nacional en el que hay que integrar SAP, SalesForce y AS/400. Al fin y al cabo es un motor esb (enterprise service bus) desplegado sobre JBoss Fuse del fabricante Red Hat, una encapsulación del proyecto Apache ServiceMix.
Para realizar este post se ha tomado como referencia este tutorial:
http://maggiechu-jboss.blogspot.com.es/2015/02/jboss-fuse-connecting-to-salesforce.html
Para la invocación desde Apache Camel a Salesforce, lo primero de todo se necesita un usuario propio por lo que se debe crear un nuevo usuario en Salesforce Developer con los siguientes campos:
Posteriormente, se debe crear una aplicación conectada, mediante la cual accederemos al contenido del CRM, tal y como se muestra:
Una vez creada,se puede observar los credenciales de dicha app a continuación.
Para facilitar su acceso remoto hay que modificar algunos parámetros de dicha app , como relajar las restricciones de ip.
Ya configurada la app conectada, se procede a crear un campo nuevo en Cuentas, por elcual se buscará posteriormente al realizar la consulta. Para ello, en Configuración->Personalizar->Cuentas->Campos->Nuevo.
Finalmente creamos la nueva Cuenta, la cual posteriormente consultaremos, con el campo nuevo creado external_id=123456.
Ahora procedemos a acceder desde Camel, para ello se crea un nuevo Fuse Project, con el archetype de spring. Al crearlo saldrán algunos errores en el pom.xml, el cual es necesario cambiar. Todas las versiones que crea por defecto se deben cambiar a 2.12.0.redhat-610394. Así como se debe añadir la dependencia y el plugin del componente de Salesforce.
Una vez aquí, debemos generar las clases de SalesForce a nuestro proyecto, para ello se necesita: username, password, clientId and clientSecret. Estas dos últimas se pueden ver en la imagen de autentificacion de la app conectada. Con estos parámetros ejecutamos:
0 comentarios