Five Stars

TDI job with working tRestClient service calls; dies when adding a tSetKeyStore component attached to a tCassandraConnection component

If I de-activate the tSetKeyStore component; the tRestClient service calls work fine.
When I attempt to activate the tSetKeyStore component (for use with tCassandraConnection Component); exceptions are raised with the tRestClient services.


The tRestClient Services should have nothing to do with the tSetKeyStore component that is associated to the tCassandraConnection Component.

Any ideas on how to tell the tRestClient components to ignore the tSetKeyStore component?

Here are some of the errorlog it raises:

[WARN ]: org.apache.cxf.phase.PhaseInterceptorChain - Interceptor for {Error! Hyperlink reference not valid. has thrown exception, unwinding now

org.apache.cxf.interceptor.Fault: Could not send Message.

         at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:64)

         at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308)

         at org.apache.cxf.jaxrs.client.AbstractClient.doRunInterceptorChain(AbstractClient.java:649)

         at org.apache.cxf.jaxrs.client.WebClient.doChainedInvocation(WebClient.java:1093)

         at org.apache.cxf.jaxrs.client.WebClient.doInvoke(WebClient.java:894)

         at org.apache.cxf.jaxrs.client.WebClient.doInvoke(WebClient.java:865)

         at org.apache.cxf.jaxrs.client.WebClient.invoke(WebClient.java:428)

         at org.apache.cxf.jaxrs.client.WebClient.get(WebClient.java:611)

         at dih_pendingbusiness.notificationenginemain_0_1.NotificationEngineMain.tHashInput_8Process(NotificationEngineMain.java:41352)

         at dih_pendingbusiness.notificationenginemain_0_1.NotificationEngineMain.tHashInput_6Process(NotificationEngineMain.java:37980)

         at dih_pendingbusiness.notificationenginemain_0_1.NotificationEngineMain.tJava_3Process(NotificationEngineMain.java:49074)

         at dih_pendingbusiness.notificationenginemain_0_1.NotificationEngineMain.tJava_2Process(NotificationEngineMain.java:47316)

         at dih_pendingbusiness.notificationenginemain_0_1.NotificationEngineMain.runJobInTOS(NotificationEngineMain.java:52813)

         at dih_pendingbusiness.notificationenginemain_0_1.NotificationEngineMain.main(NotificationEngineMain.java:52265)

Caused by: javax.net.ssl.SSLHandshakeException: SSLHandshakeException invoking https://xxxmycompanydomain.com/life/policydata/v1/policies/A03SDSAT88/001/ALIP?section=Agents: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target



  • Data Integration
4 REPLIES
Community Manager

Re: TDI job with working tRestClient service calls; dies when adding a tSetKeyStore component attached to a tCassandraConnection component

Hello
Can you upload a screenshot of your job? I will see if it is possible to split your job to different child jobs and call them with tRunJob.

Regards
Shong
----------------------------------------------------------
Talend | Data Agility for Modern Business
Five Stars

Re: TDI job with working tRestClient service calls; dies when adding a tSetKeyStore component attached to a tCassandraConnection component

I did just that, and moved all the Cassandra components to another job and call it via a tRunjob to get the row flow results.

However, now the main job that calls it and later contains the tRestClient calls is getting errors on the tRestClients, raising the Guava.jar 1635 error version must be at least 16 conflicting against the cassandra components.
I did the shaded trick and replaced all guava.jar versions below 16 with the 19 version; except one 14.0.1 version, that if I shade it, then Talend won't load.

Still looking for a workaround...and surprised the main job that has no cassandra components is still raising the guava error on the tRestclient components against the tRunjob's Cassandra components.

I've read a few articles on this conflict but not found a clear resolution yet.
Community Manager

Re: TDI job with working tRestClient service calls; dies when adding a tSetKeyStore component attached to a tCassandraConnection component

tSetKeystore configure the keystores in JVM, try to use an independent process to run the child job which contains tSetKeyStore component.
----------------------------------------------------------
Talend | Data Agility for Modern Business
Five Stars

Re: TDI job with working tRestClient service calls; dies when adding a tSetKeyStore component attached to a tCassandraConnection component

Thanks Shong.

I have updated the child process to run as an independent process; and that is avoiding the conflicts.

 

However, the child job as an independent process; cannot utilize the tBufferOut component.


I have successfully written my data to a file in the subjob; and read it back in from the main job; but I don't really want to do file i/o.

 

Is there another option to share data in memory with a child job that is independent process?

Im looking at both trying to use context variables and global map variables to cross the bridge; but so far; not getting the child data back to the parent job

 

.