Ошибка 400 после добавления заголовка "Content-Encoding" к запросу
Я пытаюсь сделать POST-вызов, добавив заголовок "Content-Encoding" к запросу. Вот мой код
Invocation.Builder builder =
webTarget.request(MediaType.APPLICATION_XML).header("Content-Encoding",
"xml").accept(MediaType.TEXT_PLAIN);
String xmlRequest=
buildMerchantPreferencesRequest(accountNumber,emailID,thresholdValue);
response = header.post(Entity.xml(xmlRequest.toString()));
String value = response.readEntity(String.class);
Thread.sleep(5000);
System.out.println("Service STATUS : "+response.getStatus());
System.out.println("Response message : "+value);
Возвращает Ответ следующим образом: СОСТОЯНИЕ: 400 Ответное сообщение: Запрос на услугу В PreferencesLifecycle версии 1.0- 211.0-35789706 отсутствует заголовок Content-Encoding
Ответ говорит, что заголовок "Content-Encoding" отсутствует. Может ли кто-нибудь помочь мне здесь, и указать мне правильный способ сделать это?
1 ответ
Решение
Response response;
String xmlRequest= buildMerchantNBPreferencesRequest(accountNumber,emailID,thresholdValue);
Variant variant = new Variant(MediaType.APPLICATION_XML_TYPE, null, null, "XML");
Invocation.Builder builder = merchantPreferencesClient.request().header("Content-Encoding", "XML").property("Content-Encoding", "XML");
Invocation invocation = builder.header("Content-Encoding", "XML").buildPost(Entity.entity(xmlRequest, variant));
response = invocation.invoke();