0

我試圖通過向請求添加「Content-Encoding」頭來執行POST調用。這裏是我的代碼將「Content-Encoding」頭添加到請求後出現400錯誤

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頭

迴應說: 「內容編碼」標題丟失。 任何人都可以在這裏幫助我,並指出我正確的做法嗎?

+0

以不同的方式解決了這個問題。 –

回答

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();