It should be a GET request.

2016-01-08 18:47 GMT+08:00 王琳 <wang...@britecloudtech.com>:

> 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
>

Reply via email to