У меня есть внутренний шлюз API, который мы вызываем из VP C ...
Случай 1) Сбой при 403 при вызове с использованием Grails rest Builder {"message": "запрещено "}
def rest = новый RestBuilder (connectTimeOut: connectTimeOut, readTimeOut: readTimeOut) def response = rest.post ('https://vpce-ytyttsfa9f4a11-ssssssfx.execute-api.us-east- 1.fdd.amazon aws .com / dev / xxxx / ') {auth' aaaa ',' zzz 'applicationType' header / json 'header (' Host ',' xxxxxxxxx.execute-api.us-east-1.amazon aws. com ') json {inputPayload}}
Case2: Использование org. apache .http.client.methods.HttpPost работает нормально:
HttpPost post = new HttpPost("https://vpce-06490cdb1idsidjakshdyy.execute-api.us-east-1.vpxxs.amazonaws.com/dev/receivelppoint");
String userCredentials = "xxxx:xxx";
String basicAuth = "Basic " + new String(Base64.getEncoder().encode(userCredentials.getBytes()));
post.setHeader("Host", "assdadasdxxx.execute-api.us-east-1.amazonaws.com" );
post.setHeader("Authorization", basicAuth);
post.setHeader("Content-Type", "application/json");
StringEntity params =new StringEntity(" {\n" +
" \t\"submitter\": \"SUBS\",\n" +
" \t\"productDesc\": \"wassup united\",\n" +
" \t\"referenceId\": \"/partnerOrderNo:xxx/xxx/transaction:xxxx/itemKey:xxxx\"\n" +
" }");
post.setEntity(params);
CloseableHttpClient httpClient = HttpClients.createDefault()
CloseableHttpResponse response1 = httpClient.execute(post)
System.out.println(EntityUtils.toString(response1.getEntity()));
Я думаю, что проблема заключается в Если Grails Rest Builder не позволяет настроить заголовок хоста, есть идеи, как мы можем настроить заголовок хоста в Grails Rest Builder? Заранее спасибо