this is my code ,but have errors :
public static List<JobInfo> listAllJobs() { ArrayList<JobInfo> jobList = new ArrayList<JobInfo>(); HttpPost request = new HttpPost(KYLIN_JOB_SERVER_URL + "/api/jobs"); //HttpPost request = new HttpPost(KYLIN_JOB_SERVER_URL + "/api/cubes"); try { HttpClient httpClient = HttpClients.createDefault(); //HttpMethodBase method = new HttpMethodBase(KYLIN_JOB_SERVER_URL + "/api/jobs") ; request.addHeader("Content-Type", "application/json"); String basicAuth =DatatypeConverter.printBase64Binary(("ADMIN" + ":" + "KYLIN").getBytes()); request.addHeader("Authorization", "Basic " + basicAuth); HttpResponse response = httpClient.execute(request); System.out.println("response.getStatusLine().getStatusCode():"+response.getStatusLine().getStatusCode()); if (response.getStatusLine().getStatusCode() != 200) { throw new RuntimeException("Failed : HTTP error code : " + response.getStatusLine().getStatusCode()); } HttpEntity entity = response.getEntity(); InputStream is = entity.getContent(); byte[] responseBody = IOUtils.toByteArray(is); String json = new String(responseBody); log.debug(json); System.out.println("json:"+json); // ObjectMapper om = new ObjectMapper(); // jobList.addAll((List<JobInfo>) om.readValue(json, new TypeReference<List<JobInfo>>() { // })); } catch (Throwable t) { t.printStackTrace(); } finally { request.releaseConnection(); } return jobList; } console ERRORS output: 18:43:03 RequestAddCookies - CookieSpec selected: best-match 18:43:03 RequestAuthCache - Auth cache not set in the context 18:43:03 PoolingHttpClientConnectionManager - Connection request: [route: {}->http://192.168.1.12:7070][total kept alive: 0; route allocated: 0 of 2; total allocated: 0 of 20] 18:43:03 PoolingHttpClientConnectionManager - Connection leased: [id: 0][route: {}->http://192.168.1.12:7070][total kept alive: 0; route allocated: 1 of 2; total allocated: 1 of 20] 18:43:03 MainClientExec - Opening connection {}->http://192.168.1.12:7070 18:43:03 HttpClientConnectionOperator - Connecting to /192.168.1.12:7070 18:43:03 HttpClientConnectionOperator - Connection established 192.168.0.143:65129<->192.168.1.12:7070 18:43:03 MainClientExec - Executing request POST /kylin/api/jobs HTTP/1.1 18:43:03 MainClientExec - Proxy auth state: UNCHALLENGED 18:43:03 LoggingManagedHttpClientConnection - http-outgoing-0 >> POST /kylin/api/jobs HTTP/1.1 18:43:03 LoggingManagedHttpClientConnection - http-outgoing-0 >> Content-Type: application/json 18:43:03 LoggingManagedHttpClientConnection - http-outgoing-0 >> Authorization: Basic QURNSU46S1lMSU4= 18:43:03 LoggingManagedHttpClientConnection - http-outgoing-0 >> Content-Length: 0 18:43:03 LoggingManagedHttpClientConnection - http-outgoing-0 >> Host: 192.168.1.12:7070 18:43:03 LoggingManagedHttpClientConnection - http-outgoing-0 >> Connection: Keep-Alive 18:43:03 LoggingManagedHttpClientConnection - http-outgoing-0 >> User-Agent: Apache-HttpClient/4.3.3 (java 1.5) 18:43:03 LoggingManagedHttpClientConnection - http-outgoing-0 >> Accept-Encoding: gzip,deflate 18:43:03 Wire - http-outgoing-0 >> "POST /kylin/api/jobs HTTP/1.1[\r][\n]" 18:43:03 Wire - http-outgoing-0 >> "Content-Type: application/json[\r][\n]" 18:43:03 Wire - http-outgoing-0 >> "Authorization: Basic QURNSU46S1lMSU4=[\r][\n]" 18:43:03 Wire - http-outgoing-0 >> "Content-Length: 0[\r][\n]" 18:43:03 Wire - http-outgoing-0 >> "Host: 192.168.1.12:7070[\r][\n]" 18:43:03 Wire - http-outgoing-0 >> "Connection: Keep-Alive[\r][\n]" 18:43:03 Wire - http-outgoing-0 >> "User-Agent: Apache-HttpClient/4.3.3 (java 1.5)[\r][\n]" 18:43:03 Wire - http-outgoing-0 >> "Accept-Encoding: gzip,deflate[\r][\n]" 18:43:03 Wire - http-outgoing-0 >> "[\r][\n]" 18:43:03 Wire - http-outgoing-0 << "HTTP/1.1 405 Method Not Allowed[\r][\n]" 18:43:03 Wire - http-outgoing-0 << "Server: Apache-Coyote/1.1[\r][\n]" 18:43:03 Wire - http-outgoing-0 << "Set-Cookie: JSESSIONID=1B48E4EE1F327464EA6B32449346BBB7; Path=/kylin/; HttpOnly[\r][\n]" 18:43:03 Wire - http-outgoing-0 << "Allow: GET[\r][\n]" 18:43:03 Wire - http-outgoing-0 << "Content-Type: text/html;charset=utf-8[\r][\n]" 18:43:03 Wire - http-outgoing-0 << "Content-Language: en[\r][\n]" 18:43:03 Wire - http-outgoing-0 << "Content-Length: 1047[\r][\n]" 18:43:03 Wire - http-outgoing-0 << "Date: Fri, 08 Jan 2016 10:41:50 GMT[\r][\n]" 18:43:03 Wire - http-outgoing-0 << "[\r][\n]" 18:43:03 Wire - http-outgoing-0 << "<html><head><title>Apache Tomcat/7.0.59 - Error report</title><style><!--H1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;} H2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} H3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;} BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} B {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} P {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;}A {color : black;}A.name {color : black;}HR {color : #525D76;}--></style> </head><body><h1>HTTP Status 405 - Request method 'POST' not supported</h1><HR size="1" noshade="noshade"><p><b>type</b> Status report</p><p><b>message</b> <u>Request method 'POST' not supported</u></p><p><b>description</b> <u>The specified HTTP method is not allowed for the requested resource.</u></p><HR size="1" noshade="noshade"><h3>Apache Tomcat/7.0.59</h3></body></html>" 18:43:03 LoggingManagedHttpClientConnection - http-outgoing-0 << HTTP/1.1 405 Method Not Allowed 18:43:03 LoggingManagedHttpClientConnection - http-outgoing-0 << Server: Apache-Coyote/1.1 18:43:03 LoggingManagedHttpClientConnection - http-outgoing-0 << Set-Cookie: JSESSIONID=1B48E4EE1F327464EA6B32449346BBB7; Path=/kylin/; HttpOnly 18:43:03 LoggingManagedHttpClientConnection - http-outgoing-0 << Allow: GET 18:43:03 LoggingManagedHttpClientConnection - http-outgoing-0 << Content-Type: text/html;charset=utf-8 18:43:03 LoggingManagedHttpClientConnection - http-outgoing-0 << Content-Language: en 18:43:03 LoggingManagedHttpClientConnection - http-outgoing-0 << Content-Length: 1047 18:43:03 LoggingManagedHttpClientConnection - http-outgoing-0 << Date: Fri, 08 Jan 2016 10:41:50 GMT 18:43:03 MainClientExec - Connection can be kept alive indefinitely 18:43:03 ResponseProcessCookies - Cookie accepted [JSESSIONID="1B48E4EE1F327464EA6B32449346BBB7", version:0, domain:192.168.1.12, path:/kylin/, expiry:null] response.getStatusLine().getStatusCode():405 java.lang.RuntimeException: Failed : HTTP error code : 40518:43:03 ConnectionHolder - Cancelling request execution 18:43:03 LoggingManagedHttpClientConnection - http-outgoing-0: Shutdown connection at com.britecloud.spark.jobs.KylinJobUtils.listAllJobs(KylinJobUtils.java:63) at com.britecloud.spark.jobs.KylinJobUtils.main(KylinJobUtils.java:89) 18:43:03 ConnectionHolder - Connection discarded 18:43:03 LoggingManagedHttpClientConnection - http-outgoing-0: Close connection 18:43:03 PoolingHttpClientConnectionManager - Connection released: [id: 0][route: {}->http://192.168.1.12:7070][total kept alive: 0; route allocated: 0 of 2; total allocated: 0 of 20] ------------------ Original ------------------ From: "yu feng"<olaptes...@gmail.com>; Date: Fri, Jan 8, 2016 06:12 PM To: "dev"<dev@kylin.apache.org>; Subject: Re: restful interface You can add authentication infomation like this : protected void addHttpHeaders(HttpMethodBase method) { method.addRequestHeader("Accept", "application/json, text/plain, */*"); method.addRequestHeader("Content-Type", "application/json"); String basicAuth = DatatypeConverter.printBase64Binary((this.username + ":" + this.password).getBytes()); method.addRequestHeader("Authorization", "Basic " + basicAuth); } In curl command, you can execute command like this : curl -H "Authorization:Basic auth-information-content" -H "Content-Type: application/json" "http://localhost:7070/kylin/api/xxx", and auth-information-content is value of username + ":" + password encoding with base64. for example "ADMIN:KYLIN" will encode to "QURNSU46S1lMSU4=" 2016-01-08 17:37 GMT+08:00 王琳 <wang...@britecloudtech.com>: > hi > I have a restful interface problems need to consult about: > > Java call restful interface for user authentication how to control > this piece? > > > Thanks