WebResource.header()
возвращает новый WebResource.Builder
.Поэтому, когда вы делаете
WebResource webResource = client.resource(url);
webResource.header(HttpHeaders.AUTHORIZATION, "Basic XXXXXX");
во второй строке, вы создаете новый WebResource.Builder
и ничего не делаете с ним.Таким образом, происходит то, что заголовки никогда не устанавливаются при вызове post()
на исходном WebResource
, а не на WebResource.Builder
, на который вы устанавливаете заголовок.
Вы можете либо назначить header()
вызовите переменную WebResource.Builder
и вызовите методы на , которые , или вы можете просто соединить вызовы.
WebResource webResource = client.resource(url);
WebResource.Builder builder = webResource.header(HttpHeaders.AUTHORIZATION, "Basic XXXXXX");
builder.header(HttpHeaders.CONTENT_TYPE, "application/json");
builder.accept(MediaType.APPLICATION_JSON);
ClientResponse response = builder.post(ClientResponse.class, myPostData);
или объединить все в цепочку
ClientResponse response = client.resource(url)
.header(HttpHeaders.AUTHORIZATION, "Basic XXXXXX")
.header(HttpHeaders.CONTENT_TYPE, "application/json")
.accept(MediaType.APPLICATION_JSON)
.post(ClientResponse.class, myPostData);