Я выполняю запрос GET, и этот код, который работает для всех наших существующих тестов, выдает ошибку 400 для новой конечной точки. Я могу попасть в конечную точку штрафа в почтальоне. conn.getErrorStream () ничего не печатает. Кажется, код не работает (без исключения) прямо в url.openConnection. Если я делаю conn.getResponseCode () сразу после этой строки, он возвращает 400. Я подумал, что, возможно, ему не нравится символ канала, который у меня есть в моем запросе, но кодирую его с помощью URLEncoder.encode (resourceContext), а также URLEncoder.encode (baseUrl). + resourceContext) не помог и закончил тем, что выдал исключение MalformedURLException. Вот конечная точка, которую я хочу достичь (анонимная):
https://usqa0003d.usa.company.com:17462/positions/1535000400000/CUR/USA|415|415|CUST|GL53I7TPYBYM|MATCHED
Когда я присоединяю отладчик к серверу, я хочу, чтобы ничего не происходило, поэтому запрос никогда не поступает на сервер. Я вхожу в openConnection, которая приводит к кроличьей норе, полной var5, var6 и т. Д. Я перешел на HttpsURLConnection, но там тоже нет кубиков. Любые другие предложения?
URL url = new URL(baseUrl + resourceContext);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setDoOutput(true);
conn.setRequestMethod(requestType);
if(messageLibraryJson) {
conn.setRequestProperty("Content-Type", "application/json;class=true");
conn.setRequestProperty("Accept", "application/json;class=true");
} else {
conn.setRequestProperty("Content-Type", "application/json");
conn.setRequestProperty("Accept", "application/json");
}
String userpass = username + ":" + password;
String basicAuth = "Basic " + javax.xml.bind.DatatypeConverter.printBase64Binary(userpass.getBytes());
conn.setRequestProperty("Authorization", basicAuth);
if(requestType.equals("POST")) {
OutputStream os = conn.getOutputStream();
os.write(requestJson.getBytes());
os.flush();
}
if (conn.getResponseCode() != HttpURLConnection.HTTP_OK) {
logger.error("ERROR in REST CLIENT");
logger.error("URL = " + baseUrl + resourceContext);
logger.error("Request = " + requestJson);
throw new RuntimeException("Failed : HTTP error code : "
+ conn.getResponseCode());
}
BufferedReader br = new BufferedReader(new InputStreamReader(
(conn.getInputStream())));