MarkLogic spring RestTemplate

MarkLogic spring RestTemplate

您好,我正在尝试使用 RestTemplate 获取 MarkLogic 中的图表列表。 下面是示例代码。我可以从浏览器获取图表列表,但通过 Java REST 客户端我收到错误 401。

HttpHeaders header = new HttpHeaders();
String plainCreds = "restadmin:restpassword";
byte[] plainCredsBytes = plainCreds.getBytes();
byte[] base64CredsBytes = Base64.encode(plainCredsBytes);
String base64Creds = new String(base64CredsBytes);
header.setAccessControlAllowCredentials(true);
header.add("Authorization", "Basic " + base64Creds);
header.setAccept(Arrays.asList(MediaType.TEXT_XML));
header.setContentType(MediaType.TEXT_XML);
HttpEntity<String> entity = new HttpEntity<String>(header);

String url = "http://localhost:8003/v1/graphs";
ResponseEntity response = restTemplate.exchange(url, HttpMethod.GET, entity, String.class);
System.out.println("Response : "+response.getStatusCode());

请帮我解决问题

尝试在 https://github.com/rjrudin/ml-app-deployer/blob/master/src/main/java/com/rjrudin/marklogic/rest/util/RestTemplateUtil.java#L18 复制 HTTP 身份验证代码 - 我知道它会处理 HTTP 基本身份验证针对端口 8002 上的管理 API,它应该可以在你的 REST 上正常工作 API 端口 8003 上的服务器。