Ошибка 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();
Другие вопросы по тегам