我收到错误org.springframework.web.client.HttpClientErrorException $未经授权:401未经授权:[无正文]

时间:2020-08-18 10:54:03

标签: basic-authentication resttemplate http-status-code-401 unauthorized

我正在使用restTemplate(在端口8080上运行)将数据发布到以下URL:“ http:// localhost:8013 / v1 / ecrion / HELLO_WORLD”,如下所示

public ImageDescriptor generateImage(String payLoad, String templateName, String slogPrefix) {
    try {
        ImageDescriptor descriptor = new ImageDescriptor();

        String myEcrionUrl = "http://localhost:8013/v1/ecrion/HELLO_WORLD";
      // String ecrionURL = myEcrionUrl.concat(Constant.F_SLASH).concat(templateName);

       log.info("payload" + payLoad);

        ResponseEntity<Resource> responseEntity = restTemplate.exchange(
                myEcrionUrl,
                HttpMethod.POST,
                ncbiService.getStringHttpEntityWithPayload(payLoad),
                Resource.class);
      log.info(String.format("%s generateImage Result: [%s] ", slogPrefix, responseEntity.getBody().getInputStream()));
        descriptor.setInputStream(Objects.requireNonNull(responseEntity.getBody()).getInputStream());

        convert(responseEntity.getBody().getInputStream(), "sherrr.pdf");

        log.info("file is:"+ convert(responseEntity.getBody().getInputStream(), "sherrr.pdf"));

        return descriptor;
    } catch (IOException e) {
        e.printStackTrace();
        log.error("Error: " + slogPrefix + " generate image failed " + e.getMessage());
        throw new RuntimeException(e);
    }




}

“ http:// localhost:8013 / v1 / ecrion / HELLO_WORLD”是我尝试访问的以下方法的URL。

@PostMapping(path = "{documentType}", consumes = "application/json", produces = "application/json")
public ResponseEntity<InputStreamResource> createDocument(@PathVariable DocType documentType, 
@RequestBody String payload) throws Exception {
    InputStream inputStream = null;
    try {
        LOGGER.info(String.format("Document Type: ", documentType.toString()));
        LOGGER.info(String.format("PayLoad : %s", payload));
        inputStream = fopService.doFOP(payload, documentType);
        InputStreamResource streamResource = new InputStreamResource(inputStream);
        return ResponseEntity.ok()
                .contentType(MediaType.parseMediaType(MediaType.APPLICATION_PDF_VALUE))
                .body(streamResource);
    } catch (Exception ex) {
        LOGGER.error("Error", ex);
        throw new Exception(ex);
    }

}

0 个答案:

没有答案