JAVA:使用凭据发布到REST端点

JAVA:使用凭据发布到REST端点,java,authentication,resttemplate,Java,Authentication,Resttemplate,我用邮递员做了以下工作: 后请求 然后我得到一个JSESSIONID 如果我使用postman来发布XML 帖子正文原始XML(text/XML) 它不起作用,除非我用用户名和密码执行上一篇文章 好的,那么上面的工作顺序是这样的……我如何在Java中复制它 我需要能够发布到登录,然后将XML发布到API 我试过这个: 发布到登录 RestTemplate restTemplate = new RestTemplate(); HttpHeaders headers = ne

我用邮递员做了以下工作:

  • 后请求
  • 然后我得到一个JSESSIONID
如果我使用postman来发布XML

  • 帖子正文原始XML(text/XML)
  • 它不起作用,除非我用用户名和密码执行上一篇文章
好的,那么上面的工作顺序是这样的……我如何在Java中复制它

我需要能够发布到登录,然后将XML发布到API

我试过这个:

发布到登录

    RestTemplate restTemplate = new RestTemplate();
    HttpHeaders headers = new HttpHeaders();
    headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
    HttpEntity<String> request = new HttpEntity<String>(message, headers);
    ResponseEntity<String> response = restTemplate.postForEntity("http://localhost:8082/login?username=john&password=abcd", request, String.class);
RestTemplate RestTemplate=new RestTemplate();
HttpHeaders=新的HttpHeaders();
headers.setContentType(MediaType.APPLICATION\u FORM\u URLENCODED);
HttpEntity请求=新的HttpEntity(消息、头);
ResponseEntity response=restTemplate.postForEntity(“http://localhost:8082/login?username=john&password=abcd,请求,字符串。类);
POST到Rest API

    RestTemplate restTemplate = new RestTemplate();
    HttpHeaders headers = new HttpHeaders();
    headers.setContentType(MediaType.APPLICATION_XML);
    HttpEntity<String> request = new HttpEntity<String>(message, headers);
    ResponseEntity<String> response = restTemplate.postForEntity("http://localhost:8082/api/method", request, String.class);
RestTemplate RestTemplate=new RestTemplate();
HttpHeaders=新的HttpHeaders();
headers.setContentType(MediaType.APPLICATION\uXML);
HttpEntity请求=新的HttpEntity(消息、头);
ResponseEntity response=restTemplate.postForEntity(“http://localhost:8082/api/method,请求,字符串。类);
但似乎它们是不同的要求。但登录也不起作用。任何帮助都很好,谢谢


我不介意使用Apache HTTP客户端…

根据api规范在头或负载中的第二个请求中发送会话id?用户名和密码实际上不应该是url的一部分。尤其不是明文。我建议你在继续之前先解决这个问题