Could someone send me an example of how to authenticate with apache knox for templeton ? I tried the example below , but it doesn't work.
Thanks Rachna package com.test.hadoop; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.ProtocolException; import java.net.URL; import java.sql.Timestamp; import java.util.Map; import java.util.logging.Level; import java.util.logging.Logger; import org.apache.commons.codec.binary.Base64; public class TempletonTest { private static final String LISTDATABASES = "/database"; private static final String PACKAGE_NAME = TempletonTest.class .getPackage().getName(); /** Logger for this package */ private static final Logger logger = Logger.getLogger(PACKAGE_NAME); public TempletonTest(Map options) { try { logger.info("EXECUTING TEMPLETON TEST"); String templetonURL = "https://{gateway-host}:{gateway-port}/gateway/default/templeton/v1/ddl"; String user = "user1"; String password = "user1-password"; String url = templetonURL.replace("ddl", "status"); logger.info("calling url.... " + url); long start = System.currentTimeMillis(); logger.info("Start Time : " + new Timestamp(start)); String authString = user+":"+password; byte[] authEncBytes = Base64.encodeBase64(authString.getBytes()); String navigatorAuthStringEncoded = new String(authEncBytes); StringBuilder response = sendRequestToUrl(url, navigatorAuthStringEncoded); //print result logger.info("**************************************"); logger.info(response.toString()); logger.info("**************************************"); url =templetonURL+LISTDATABASES; logger.info("calling url.... " + url); start = System.currentTimeMillis(); logger.info("Start Time : " + new Timestamp(start)); response = sendRequestToUrl(url, navigatorAuthStringEncoded); //print result logger.info("**************************************"); logger.info(response.toString()); logger.info("**************************************"); } catch (Throwable e) { logger.log(Level.SEVERE,"error executing test\n"+e.getMessage() ,e); } } private static StringBuilder sendRequestToUrl(String url, String navigatorAuthStringEncoded) throws MalformedURLException, IOException, ProtocolException { URL obj = new URL(url); HttpURLConnection con = (HttpURLConnection) obj.openConnection(); // optional default is GET con.setRequestMethod("GET"); //add request header con.setRequestProperty("Content-Type", "application/json"); // Adding HTTP Basic Authentication for Navigator con.setRequestProperty("Authorization", "Basic " + navigatorAuthStringEncoded); int responseCode = con.getResponseCode(); int length = con.getContentLength(); logger.info("\nSending 'GET' request to URL : " + url); logger.info("Response Code : " + responseCode); BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream())); String inputLine; StringBuilder response = new StringBuilder(); while ((inputLine = in.readLine()) != null) { response.append(inputLine); } in.close(); return response; } }