Я установил локальный Java Team Server версии 3.0.1.Я пытаюсь использовать веб-сервисы REST для получения всех областей проекта.Для этого я сначала аутентифицировал себя:
public HttpContext login() throws ClientProtocolException, IOException {
client = new DefaultHttpClient();
CookieStore cookieStore = new BasicCookieStore();
HttpContext localContext = new BasicHttpContext();
localContext.setAttribute(ClientContext.COOKIE_STORE, cookieStore);
HttpGet httpGetID = new HttpGet("https://localhost:9443/ccm/authenticated/identity");
client.execute(httpGetID, localContext);
httpGetID.abort();
List<Cookie> cookies1 = cookieStore.getCookies();
for (Cookie cookie : cookies1) {
System.out.println("\t"+cookie.getName()+" : "+cookie.getValue());
}
List<NameValuePair> authFormParams = new ArrayList<NameValuePair>();
authFormParams.add(new BasicNameValuePair("j_username", "ADMIN"));
authFormParams.add(new BasicNameValuePair("j_password", "ADMIN"));
UrlEncodedFormEntity entity = new UrlEncodedFormEntity(authFormParams, "UTF-8");
HttpPost httpPostAuth = new HttpPost("https://localhost:9443/ccm/authenticated/j_security_check");
httpPostAuth.addHeader("Content-Type", "application/x-www-form-urlencoded; charset=utf-8");
httpPostAuth.setEntity(entity);
client.execute(httpPostAuth, localContext);
//httpPostAuth.abort();
List<Cookie> cookies2 = cookieStore.getCookies();
for (Cookie cookie : cookies2) {
System.out.println("\t"+cookie.getName()+" : "+cookie.getValue());
}
return localContext;
}
Затем я пытаюсь получить области проекта со следующим кодом:
HttpGet getProjectsRequest = new HttpGet("https://localhost:9443/ccm/oslc-scm/catalog");
getProjectsRequest.addHeader("Content-Type", "application/xml;charset=UTF-8");
getProjectsRequest.addHeader("Accept-Charset", "UTF-8");
getProjectsRequest.addHeader("Accept", "application/x-oslc-cm-change-request+xml");
ResponseHandler<String> handler = new BasicResponseHandler();
String projectResponse = client.execute(getProjectsRequest, handler, localContext);
System.out.println(projectResponse);
К сожалению, ответ всегда один и тот же:
{
"userId": "ADMIN",
"roles": [
"JazzUsers",
"JazzProjectAdmins",
"JazzAdmins"]
}
Это выглядит для меня как объект JSON.Вместо этого я должен получить документ XML, в котором перечислены все проекты.Я уже попробовал тот же сервис REST с плагином REST для Firefox.Там я получаю XML-документ, как и ожидалось.Однако я не вижу различий между моим кодом и тем, что я делаю в плагине.