Я вызываю API с помощью restemplate, включающего базовую авторизацию.Я установил httpheaders и использовал resttemplate postforentity.К сожалению, я получаю UnsupportedOperationsException.Как решить эту проблему?
private String publishPayrollProcessing(String payrollFileUploadDTOJSON) {
PlanEmployerFileUploadResponse pfur=new PlanEmployerFileUploadResponse();
String responseMessage;
//URL
String BASE_URL_FOR_PROCESSING="http://177.18.48.167:24014/14.0/plan/CUS01%252FSCH%252FF75551";
HttpHeaders headers =httpheaders();
RestTemplate restTemplate = new RestTemplate();
//entity
HttpEntity<String> entityWithJSON = new HttpEntity<String>(payrollFileUploadDTOJSON,headers);
restTemplate.getInterceptors().add(new BasicAuthorizationInterceptor("Authorization", "Basic RGlnaXRhbF91c2VyOkRpZ2l0YWxfcGFzc3cwcmQ="));
//response
PlanEmployerFileUploadResponse e = restTemplate.postForObject(BASE_URL_FOR_PROCESSING, entityWithJSON, PlanEmployerFileUploadResponse.class);
if(e.getData().getErrorCount().equals("0") && e.getData().getErrorCount() != null)
{
System.out.println("file processed and ok for confirmation");
String fileReference= e.getData().getFileReference();
String BASE_URL_FOR_CONFIRMATION="http://172.18.98.167:24014//14.0/plan/CUS01%252FSCH%252FF75551".concat(fileReference) ;
PlanEmployerFileUploadResponse e1 = restTemplate.postForObject(BASE_URL_FOR_CONFIRMATION, headers, PlanEmployerFileUploadResponse.class);
responseMessage= "payroll file is validated and processed";
}
else {
responseMessage= "file not processed";
}
private HttpHeaders httpheaders() {
HttpHeaders httpheaders =new HttpHeaders();
httpheaders.setContentType(MediaType.APPLICATION_JSON);
httpheaders.add("user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36");
httpheaders.set("Authorization","Basic RGlnaXRhVyOkRpZ2l0YWxfcGF=");
return httpheaders;
}
Это ошибка, которую я получаю:
java.lang.UnsupportedOperationException: null
at java.util.Collections$UnmodifiableCollection.add(Collections.java:1055) ~[na:1.8.0_144]
at org.springframework.http.HttpHeaders.add(HttpHeaders.java:1181) ~[spring-web-4.3.3.RELEASE.jar:4.3.3.RELEASE]
at org.springframework.http.client.support.BasicAuthorizationInterceptor.intercept(BasicAuthorizationInterceptor.java:62) ~[spring-web-4.3.3.RELEASE.jar:4.3.3.RELEASE]
at org.springframework.http.client.InterceptingClientHttpRequest$InterceptingRequestExecution.execute(InterceptingClientHttpRequest.java:85) ~[spring-web-4.3.3.RELEASE.jar:4.3.3.RELEASE]
at org.springframework.http.client.InterceptingClientHttpRequest.executeInternal(InterceptingClientHttpRequest.java:69) ~[spring-web-4.3.3.RELEASE.jar:4.3.3.RELEASE]
at org.springframework.http.client.AbstractBufferingClientHttpRequest.executeInternal(AbstractBufferingClientHttpRequest.java:48) ~[spring-web-4.3.3.RELEASE.jar:4.3.3.RELEASE]
at org.springframework.http.client.AbstractClientHttpRequest.execute(AbstractClientHttpRequest.java:53) ~[spring-web-4.3.3.RELEASE.jar:4.3.3.RELEASE]
at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:619) ~[spring-web-4.3.3.RELEASE.jar:4.3.3.RELEASE]
at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:580) ~[spring-web-4.3.3.RELEASE.jar:4.3.3.RELEASE]
at org.springframework.web.client.RestTemplate.postForObject(RestTemplate.java:380) ~[spring-web-4.3.3.RELEASE.jar:4.3.3.RELEASE]
at dev.mj.excelupload.service.UploadService.publishPayrollProcessing(UploadService.java:210) ~[classes/:na]
at dev.mj.excelupload.service.UploadService.upload(UploadService.java:191) ~[classes/:na]
at dev.mj.excelupload.controller.UploadController.upload(UploadController.java:33) ~[classes/:na]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_144]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_144]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_144]
at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_144]
at ...