Вызов WS с помощью Postman выполняется, но не из кода Java

#java #post #https #postman

#java #Публикация #https #postman

Вопрос:

Я выполнил Post-запрос с помощью Postman и получил ответ, но когда тот же повторный запрос с использованием OkHttpClient (та же проблема с HttpsURLConnection) в java, я получил исключение с отказом в подключении.

Ниже приведен мой код (с поддельными данными) :

 OkHttpClient client = new OkHttpClient();
String req = "<?xml version="1.0"?>rn"   
 "<ApplicantTestRequestrn"   
 "PositionID="48939014-b24f-4d74-8a44-9913cd9f8936"rn"   
 "ThirdPartyCandidateID="4152ab4r"rn"   
 "FirstName="Danny"rn"   
 "LastName="Givaty"rn"   
 "UserName="dannyg"rn"   
 "Password="2sEr#d!w@"rn"   
 "email="dannyg@careerharmony.com"rn"   
 "Telephone="5558586858"rn"   
 "Source="LinkeIn"rn"   
 "SkipToFirstRecruiterComponent = "1"rn"   
 "Gender = "1"rn"   
 "/>";

RequestBody reqbody = RequestBody.create(null, req);  

Request request = new Request.Builder()
 .url("https://staging.direct-assessment.net/RomaTestUI/forms/xmlregistrationandtestentry.aspx?XMLReadType=1")
 .method("POST",reqbody)
 .addHeader("Content-Type", "application/x-www-form-urlencoded")
 .addHeader("cache-control", "no-cache")
 .build();

Response response = client.newCall(request).execute();
int responseCode = response.code();
System.out.println("Response Code : "   responseCode);
  

Результат, который я получил, таков :

 Exception in thread "main" java.net.ConnectException: Failed to connect to staging.direct-assessment.net/185.52.110.193:443
...........
Caused by: java.net.ConnectException: Connection refused: connect  
  

Есть какие — нибудь предложения ?

Ответ №1:

Я вижу причину этого ниже, я также включаю возможное решение —

Проблема может быть связана с HTTP_TRANSPORT_VERSION, можете ли вы проверить, какая версия отправляется через Postman, а какая отправляется из программы Java. Если версии отличаются, установите HTTP_TRANSPORT_VERSION (аналогично запросу Postman) в вашем java-вызове.

Комментарии:

1. Спасибо за ответ, я использовал все параметры, отправленные Postman в запросе, но у меня все еще есть проблема