HTTP Post
락스
A와 URL을 수행하는 코드 (https://xxxxxxx.atlassian.net/rest/api/2/issue/
)이 : 잘 작동 내가 JSON 메시지없이 HTTP 가져 오기를 사용하는 경우자바 - HTTP 포스트 락스의 API - 잘못된 요청
Object jsonMessage = arg0.getMessage().getPayload();
URL url = new URL(jiraUrl + jiraIssuePath);
HttpsURLConnection conn = (HttpsURLConnection) url.openConnection();
BASE64Encoder enc = new sun.misc.BASE64Encoder();
String userpassword = jiraUsername + ":" + jiraPassword;
String encodedAuthorization = enc.encode(userpassword.getBytes());
conn.setDoOutput(true);
conn.setDoInput(true);
conn.setRequestProperty("Authorization", "Basic " + encodedAuthorization);
conn.setRequestProperty("Content-Type", "application/json;charset=UTF-8");
conn.setRequestMethod("POST");
OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream());
wr.write(jsonMessage.toString());
wr.flush();
StringBuilder sb = new StringBuilder();
int HttpResult = conn.getResponseCode();
if (HttpResult == HttpsURLConnection.HTTP_OK) {
BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream(), "utf-8"));
String line = null;
while ((line = br.readLine()) != null) {
sb.append(line + "\n");
}
br.close();
System.out.println("" + sb.toString());
} else {
System.out.println(conn.getResponseMessage());
}
을,
java.io.IOException: Server returned HTTP response code: 400 for URL: https://xxxxxxx.atlassian.net/rest/api/2/issue/
내가 헤더 (Content-Type
및 Authorization
)을 확인하는 우편 배달 앱 사용하고 몸에 : 나는 JSON 메시지를 보내는 POST를 사용하는 경우 그러나 그것은 나에게이 오류를 반환 그 App은 Jira에서 이슈를 만듭니다.
추가 : 나는 연결을 검사하는 경우 이 매개 변수 GET
대신 POST
같은 Method
있다.
내가 뭘 잘못하고 있니?
나머지 API는 get으로만 액세스 할 수 있습니까? – Jens
아니, 왜냐하면 내가 우편 배달부 애플 리케이션과 함께 그것을 잘 작동합니다. – gtx911
응답 본문을 확인하십시오. 어쩌면 문제의 원인을 밝힐 수 있습니다. – talex