Skip to main content
Announcements
Join us at Qlik Connect for 3 magical days of learning, networking,and inspiration! REGISTER TODAY and save!
cancel
Showing results for 
Search instead for 
Did you mean: 
DaveTaylor
Contributor III
Contributor III

tSetKeyStore for tCassandraConnection; conflicting with tRestClient components : how to tell them to ignore it

I have a standard job in 6.4.1; that has a tSetKeyStore component that is used in conjunction with a tCassandraConnection component in the job.

I also have a few tRestClient components various subjobs.

 

For some reason I cannot fathom; at runtime; the tRestClient components are 'seeing' that the tSetKeyStore client is there; and attempting to use it; and abending.

 

I want the tRestClient components to ignore the tSetKeyStore component; it is solelty there for the tCassandraConection component.

 

If I comment out the tSetKeyStore and tCassandra subjob; the tRestClient works fine.
If I comment out the tRestClient subjob and keep the tSetKeyStore and tCassanda subjob; the Cassandra components work fine.

It is when they both are enabled; that the tSetKetStore component is confusing the tRestClient components into attemtping to use it; when they should be ignoring it.

Any ideas?
I noticed that the tCassandraConnection component has a [x] Use SSL checkbox that assigns it the tSetKeystore; however; the tRestClient components have no such 'use SSL' checkbox to disable. 

Address: https://blahblahblah
Http-Method: GET
Content-Type: application/json
Headers: {Accept=[application/json], apikey=[UDNCFie1GiAQ5yxsemhjAw4EhTNbgwX6], Content-Type=[application/json]}
--------------------------------------
[WARN ]: org.apache.cxf.phase.PhaseInterceptorChain - Interceptor for {https://blahblahblah}tRESTClient 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:677)
at org.apache.cxf.jaxrs.client.WebClient.doChainedInvocation(WebClient.java:1041)
at org.apache.cxf.jaxrs.client.WebClient.doInvoke(WebClient.java:895)
at org.apache.cxf.jaxrs.client.WebClient.doInvoke(WebClient.java:863)
at org.apache.cxf.jaxrs.client.WebClient.invoke(WebClient.java:426)
at org.apache.cxf.jaxrs.client.WebClient.get(WebClient.java:609)
at dih_pendingbusiness.testgetcassandradata_0_1.TestGetCassandraData.tRESTClient_1Process(TestGetCassandraData.java:4965)
at dih_pendingbusiness.testgetcassandradata_0_1.TestGetCassandraData.tCassandraInput_2Process(TestGetCassandraData.java:3060)
at dih_pendingbusiness.testgetcassandradata_0_1.TestGetCassandraData.tCassandraConnection_2Process(TestGetCassandraData.java:2035)
at dih_pendingbusiness.testgetcassandradata_0_1.TestGetCassandraData.tSetKeystore_2Process(TestGetCassandraData.java:1821)
at dih_pendingbusiness.testgetcassandradata_0_1.TestGetCassandraData.runJobInTOS(TestGetCassandraData.java:10772)
at dih_pendingbusiness.testgetcassandradata_0_1.TestGetCassandraData.main(TestGetCassandraData.java:9934)
Caused by: javax.net.ssl.SSLHandshakeException: SSLHandshakeException invoking https://blahblahblah: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

 

Labels (5)
2 Replies
Anonymous
Not applicable

Hello,

Could you please post your job design screenshot on forum which will be helpful for us to understand your current work flow?

Best regards

Sabrina

DaveTaylor
Contributor III
Contributor III
Author

Sabrina,
Here is the simple pic.

If you deactivate the first subjob (and Cassandra connection, keystore, close) the second subjob works fine.
If you deactivate the second subjob; the first subjob works fine.

When you run them at the same time; the second subjob's tRestClient won't work' because of interference from the tSetKeyStore component.

It shouldn't be using it; it doesn't need it; but the tKeySetKeyStore component is preventing the tRestClient from working. (see error above post).

Also this is just a small sample job of the problem.  My main job has several tRestclients throughout the flow; and I need to add tCassadra components also to the same job....trying to separate the two into trunjobs with different jvms and trying to pass the various flows back and forth would be a significant rewrite; what the needed function is to be able to simply use tRestClients and tCassandra components in the same job without tSetKeyStore causing the tRestClients to stop working.

 0683p000009LzJP.jpg