office microsoft how example java rest authentication sharepoint-2010 httpurlconnection

microsoft - ¿PUEDO UTILIZAR la Autenticación básica para acceder a SharePoint 2010 desde JAVA con la solicitud GET REST?



sharepoint 2013 rest api example (1)

RESUELTO usando la Autenticación NTLM:

DefaultHttpClient httpClient = new DefaultHttpClient(); HttpGet getRequest = new HttpGet(webPage); NTCredentials credentials = new NTCredentials(username, password, workstation, domain); httpClient.getCredentialsProvider().setCredentials(new AuthScope(server,port), credentials); HttpResponse response = httpClient.execute(getRequest);

Estoy tratando de obtener una lista de datos de SharePoint 2010 utilizando la solicitud REST, pero obtengo esta excepción:

[err] java.io.IOException: no autorizado

Mi código es:

public static String httpGet(String urlStr) throws IOException { URL url = new URL(urlStr); String domain = "theuserdomain"; String username ="myusername"; String password = "mypassword"; String credentials = domain+"//"+username + ":" + password; String encoding = new sun.misc.BASE64Encoder().encode(credentials.getBytes()); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setRequestProperty("Authorization", "Basic " + encoding); conn.connect(); if (conn.getResponseCode() != 200) { throw new IOException(conn.getResponseMessage()); } // Buffer the result into a string BufferedReader rd = new BufferedReader( new InputStreamReader(conn.getInputStream())); StringBuilder sb = new StringBuilder(); String line; while ((line = rd.readLine()) != null) { sb.append(line); } rd.close(); conn.disconnect(); return sb.toString(); }

Creo que mi problema es que no configuro correctamente el dominio del usuario ... ¿cómo puedo configurarlo en mi solicitud?