Java의 나머지 API를 사용하여 QC 11에 액세스하려고합니다.QC ALM (QC 11) REST API 400 인증 중 오류
HP에서 제공하는 설명서의 API 참조에 준합니다. 다음은 로그인 인증의 기본 단계입니다.
비 웹 응용 프로그램 인증 클라이언트는 것입니다 인증 자원을 조회하고 더 인증 헤더를 보내지 않습니다. 이 단계는 선택 사항입니다.
GET/qcbin/나머지는/서버가 요청을 거부하고 인증 점에 대한 참조를 반환
-인증됩니다.
HTTP/1.1 401 권한 WWW 인증 : LWSSO 영역 = HTTP : // [서버] : [포트] 클라이언트가 인증 시점에 유효한 기본 인증 헤더를 전송
/qcbin/인증 점 .
GET/qcbin/인증 점/인증 인증 : ABCDE123
서버 기본은 기본 인증 헤더의 유효성을 확인 토큰 새로운 LW-SSO를 만들고 LWSSO_COOKIE_KEY로서 돌려줍니다.
HTTP/1.1 200 OK 설정 쿠키 : LWSSO_COOKIE_KEY = {쿠키}
응용 프로그램은 이제 토큰을 사용하여 데이터와 서비스에 액세스 할 수 있습니다. 세션이 끝날 때 로그 오프하여 토큰을 버립니다.
여기 내 자바 코드입니다.
DefaultHttpClient httpClient = new DefaultHttpClient();
String encoding = Base64.encodeBase64String("demoUser:demoUser123".getBytes());
HttpGet httpGet = new HttpGet("http://HOST_VALUE:PORT_VALUE/qcbin/authentication-point/authenticate");
//httpGet.setHeader("GET", "/qcbin/authentication-point/authenticate");
httpGet.setHeader("Authorization:", "Basic " + encoding);
HttpResponse response;
httpClient.getCredentialsProvider().setCredentials(
new AuthScope("proxyHost", 8080),
new UsernamePasswordCredentials("userName", "Password"));
response = httpClient.execute(httpGet);
System.out.println(response.getAllHeaders().toString());
System.out.println(response.getStatusLine().toString());
BufferedReader br = new BufferedReader(
new InputStreamReader((response.getEntity().getContent())));
String output;
System.out.println("Output from Server .... \n");
while ((output = br.readLine()) != null) {
System.out.println(output);
}
httpClient.getConnectionManager().shutdown();
그것은
로 나에게 출력을 제공 [Lorg.apache.http.Header; @ 159e154 HTTP/ 서버 1.1 400 잘못된 요청 출력 ....
I Java를 사용하여 REST를 처음 사용합니다. 누구든지 도와 줄 수 있습니까? REST를 사용하고 데이터를 가져 오는 ALM에 연결하기위한 예제가 있습니까?
하였다 : ALM 자바 API (http://code.google.com/p/alm-java-api/) – gonella
@gonella 링크가 깨졌습니다. – Dennis