camel etcd watch/get action failed with sslContextParameter

181 views Asked by At

while writing camel-etcd root for watch action If i use sslContextParameter as OPTION parameter ending up in below error

    SSLContextParameters sslContextParam = new SSLContextParameters();
    KeyStoreParameters keyStoreParam = new KeyStoreParameters();
    keyStoreParam.setResource(caCertFile);

    TrustManagersParameters trustMgr = new TrustManagersParameters();
    trustMgr.setKeyStore("\etcd-ca.crt");

    sslContextParam.setTrustManagers(trustMgr);
    sslContextParam.setSessionTimeout("10000");
     parentalRatingWatchRouteEndPoint = 
   "etcd:watch"+etcdHeaderPath+parentalRatingKey+"?recursive=true"+"&uris="+etcdRestEndPoint+"&sslContextParameter"+sslContextParam;

    from(parentalRatingWatchRouteEndPoint).startupOrder(2).autoStartup(true)
    .routeId(parentalRatingWatchRouteId)
    .onCompletion()

.....

due to: Could not find a suitable setter for property: sslContextParameters as there isn't a setter method with same type: java.lang.String nor type conversion possible: No type converter available to convert from type: java.lang.String to the required type: org.apache.camel.util.jsse.SSLContextParameters with value SSLContextParameters[keyManagers=null, trustManagers=TrustManagerType[keyStore=KeyStoreParameters[type=null, password=********, provider=null, resource=etcd-ca.crt], provider=null, algorithm=null], secureRandom=null, clientParameters=null, serverParameters=null, provider=null, secureSocketProtocol=null, certAlias=null, getCipherSuites()=null, getCipherSuitesFilter()=null, getSecureSocketProtocols()=null, getSecureSocketProtocolsFilter()=null, getSessionTimeout()=10000]

etcd://watch/deployments/prod/config/parentalRatings/v1?recursive=true&sslContextParameters=SSLContextParameters%5BkeyManagers%3Dnull%2C+trustManagers%3DTrustManagerType%5BkeyStore%3DKeyStoreParameters%5Btype%3Dnull%2C+password%3D********%2C+provider%3Dnull%2C+resource%3D%2Fetcd-ca.crt%5D%2C+provider%3Dnull%2C+algorithm%3Dnull%5D%2C+secureRandom%3Dnull%2C+clientParameters%3Dnull%2C+serverParameters%3Dnull%2C+provider%3Dnull%2C+secureSocketProtocol%3Dnull%2C+certAlias%3Dnull%2C+getCipherSuites%28%29%3Dnull%2C+getCipherSuitesFilter%28%29%3Dnull%2C+getSecureSocketProtocols%28%29%3Dnull%2C+getSecureSocketProtocolsFilter%28%29%3Dnull%2C+getSessionTimeout%28%29%3D10000%5D&uris=https%3A%2F%2Flocalhost%3A2379%2Fv2%2Fkeys

It has to connect to ETCD server with sslContextParameter

1

There are 1 answers

0
Luca Burgazzoli On

you need to put the ssl keystore in camel registry and reference it like "etcd:...&sslContextParameter=#yourSslContextParameter"