сбой отправки HTTP GET-запроса с использованием httpconnection - PullRequest
0 голосов
/ 22 февраля 2019

Я застрял, получая отказ от моего запроса.Это работает в почтальоне, но при попытке в Java, это терпит неудачу каждый раз, когда я пытаюсьПример кода ниже вместе с ответом, который я получаю.Я могу успешно отправить HTTPPost на этот веб-сервис, используя httpsurlconnection и outputtreamwriter, но при попытке преобразовать его в GET без каких-либо данных, отсутствующих в самом URL, происходит сбой.Любая помощь очень ценится! *

//print out the encoded values
data.addToLog( “sha256hex: “, sha256hex);
data.addToLog( “xauth: “, xauth);
StringBuilder sb = new StringBuilder();
String baseurl = “https://” + apihost + endpoint + “?personID=” + personid;
data.addToLog( “BaseURL: “, baseurl);

//print out the JSON search request
try {
URL myurl = new URL(null, baseurl , new sun.net.www.protocol.https.Handler() );
HttpsURLConnection con = (HttpsURLConnection )myurl.openConnection();
con.setSSLSocketFactory(new TSLSocketConnectionFactory());
con.setRequestProperty(“X-Timestamp”, tsparam);
con.setRequestProperty(“X-Nonce”, nonce64);
con.setRequestProperty(“X-Authorization”, xauth);
con.setRequestProperty(“X-Test-Insecure”, “true”);
con.setRequestMethod(method);
con.setDoOutput(true);
con.setRequestProperty(“Content-Type”, “application/json;charset=utf-8”);

int responseCode = con.getResponseCode();
data.addToLog(“Response Code= “, con.getResponseCode() +”: “+ con.getResponseMessage());

if (responseCode == HttpURLConnection.HTTP_OK) { // success
BufferedReader in = new BufferedReader(new InputStreamReader(
con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();

while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();

// print result
//System.out.println(response.toString());
data.addToLog(“Response:”, response.toString() );

}

Журнал результатов:

PersonDetailsLookup,custom,Response Code= ,200: OK
PersonDetailsLookup,custom,Response:,{“serviceModel”:{“errorCode”:{“description”:”Unexpected System Error””value”:”500″}”errorMessage”:”API Invocation Failure – Unknown Error””severity”:{“description”:”FATAL””value”:”3″}}}

1 Ответ

0 голосов
/ 26 февраля 2019

Разобрался!Это был тип контента, и его нужно было заменить на текст вместо json:

con.setRequestProperty («Content-Type», «application / text; charset = utf-8»);

...