Thank you for your answer. The use case is to get last changes from Salesforce. The native Salesforce solution is to be notified by streamin API in case of any operations with specific data: create, update, delete...
Hi Sergey, In ideal case yes: the job should be started as a listener of notifications from Salesforce. At this moment we will not use OAuth2 (just simple login by user name and password with security token).
Hi, it appears a combination of tRESTRequest and tRESTClient components can work. The former would provide a running server (or if you need SOAP then you'd use tESB request component). tRESTClient would be used by a tRESTRequest job to register this server for receiving the notifications.... Cheers, Sergey
Hello, I tried solution with tSOAP component. But it looks like the problem that I need correct configuration of security ceritificate. I downloaded Self-Signed certificate (key size = 2048) from Salesforce and imported to my local key store: keytool -import -noprompt -trustcacerts -alias sfcert -file D:\Talend\configuration\talend_cert1.crt -storetype jks -keystore sfkeystore.jks -storepass sfkeystore keytool -list -keystore sfkeystore.jks Keystore type: JKS Keystore provider: SUN Your keystore contains 1 entry sfcert, Dec 23, 2014, trustedCertEntry, Certificate fingerprint (SHA1): 13:C0:C6:8B:A05:4C:B2:45:2E:5F:F2:3C:1E:0B2:39:CE:08:B0 So, it looks like certificate is configured correctly. But as a result I always get SSLHandshakeException: Dec 24, 2014 4:19:25 PM com.sun.xml.internal.messaging.saaj.client.p2p.HttpSOAPConnection post SEVERE: SAAJ0009: Message send failed Exception in component tSOAP_1 com.sun.xml.internal.messaging.saaj.SOAPExceptionImpl: com.sun.xml.internal.messaging.saaj.SOAPExceptionImpl: Message send failed at com.sun.xml.internal.messaging.saaj.client.p2p.HttpSOAPConnection.call(Unknown Source) at org.talend.soap.SOAPUtil.extractContentAsDocument(SOAPUtil.java:220) at etac_mapping_rules.testsalesforceintegration_0_1.TestSalesforceIntegration.tFixedFlowInput_1Process(TestSalesforceIntegration.java:1195) at etac_mapping_rules.testsalesforceintegration_0_1.TestSalesforceIntegration.tSetKeystore_1Process(TestSalesforceIntegration.java:403) at etac_mapping_rules.testsalesforceintegration_0_1.TestSalesforceIntegration.runJobInTOS(TestSalesforceIntegration.java:1598) at etac_mapping_rules.testsalesforceintegration_0_1.TestSalesforceIntegration.main(TestSalesforceIntegration.java:1457) Caused by: com.sun.xml.internal.messaging.saaj.SOAPExceptionImpl: Message send failed at com.sun.xml.internal.messaging.saaj.client.p2p.HttpSOAPConnection.post(Unknown Source) ... 6 more Caused by: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target at sun.security.ssl.Alerts.getSSLException(Unknown Source) at sun.security.ssl.SSLSocketImpl.fatal(Unknown Source) at sun.security.ssl.Handshaker.fatalSE(Unknown Source) at sun.security.ssl.Handshaker.fatalSE(Unknown Source) at sun.security.ssl.ClientHandshaker.serverCertificate(Unknown Source) at sun.security.ssl.ClientHandshaker.processMessage(Unknown Source) at sun.security.ssl.Handshaker.processLoop(Unknown Source) at sun.security.ssl.Handshaker.process_record(Unknown Source) at sun.security.ssl.SSLSocketImpl.readRecord(Unknown Source) at sun.security.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source) at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source) at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source) at sun.net.www.protocol.https.HttpsClient.afterConnect(Unknown Source) at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(Unknown Source) at sun.net.www.protocol.http.HttpURLConnection.getOutputStream(Unknown Source) at com.sun.net.ssl.internal.www.protocol.https.HttpsURLConnectionOldImpl.getOutputStream(Unknown Source) ... 7 more Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target at sun.security.validator.PKIXValidator.doBuild(Unknown Source) at sun.security.validator.PKIXValidator.engineValidate(Unknown Source) at sun.security.validator.Validator.validate(Unknown Source) at sun.security.ssl.X509TrustManagerImpl.validate(Unknown Source) at sun.security.ssl.X509TrustManagerImpl.checkTrusted(Unknown Source) at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(Unknown Source) ... 19 more Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target at sun.security.provider.certpath.SunCertPathBuilder.engineBuild(Unknown Source) at java.security.cert.CertPathBuilder.build(Unknown Source) ... 25 more Please see my job's screenshots in the attachment (I tried with tSetKeystore and without, also I tried tESB component but with the same result) (For sure, I investigated similar posts but unfortunatelly didn't find the answer. It works in SOAP UI without any certificates but in Talend doesn't)
My apologies, I found the real reason of the problems with connectivity because of our network configuration. BTW, tSOAP component doesn't work together with tSetProxy: I found that it is necessary to configure tSOAP proxy settings directly in the component. Maybe this is a defect ?
Dear All, Did someone has tried to use the camel component called "salesforce" from an external jar (integrated into Talend) for doing streaming? This could be also an alternative solution, any idea? Thanks