2017-12-15 14 views
1

im oracle 서비스 버스 11g에 REST API를 설정했습니다. 나는 OSB에서 테스트 콘솔을 시험해 보았고 JSON 형식으로 결과를 반환했다. 하지만 문제는 Java에서 REST API를 호출 할 때 발생합니다. it shows socket exception and related to the input streamOracle 서비스 버스 11G REST API OSB에 연결할 때 Java에 소켓 문제가 발생했습니다

+0

작업 완료 후 연결을 닫습니다. –

+0

@ HithamS.AlQadheeb 나는 "conn.disconnect();를 넣었습니다. 내가 요청을 읽은 후에. 하지만 로그는 HTTP가 다른 끝에 응답을 얻은 후에 일어난 것처럼 보입니다. 응답이 "BufferedReader reader = new BufferedReader (new InputStreamReader (conn.getInputStream()));" – kyleeee

+0

일부 코드 스 니펫 –

답변

0

LOGGER.info(conn.getResponseMessage()); 

를 제거하고 Accept

을 변경

오류 메시지와 코드

the URL that i fired is URL of OSB proxy service, then it will call to REST URL endpoint

내가 가진 오류를 보려면 아래 하이퍼 링크를 클릭하십시오 문제가 계속 받고있는 경우

conn.setRequestProperty("Accept", "application/json"); 

가 그럼 그냥

if (conn.getResponseCode() != 200) { 
    throw new RuntimeException("HTTP Response Code: " + conn.getResponseCode()); 
} 

BufferedReader br = new BufferedReader(new InputStreamReader((conn.getInputStream()))); 

// . . . 

conn.disconnect(); 

을, 그것은 당신이 코드를 통해 보내는 요청이 브라우저와 동일하지 않습니다 것을 의미한다. 이 문제를 해결하려면 브라우저에서 요청 세부 정보를 확인하고 User-Agent, POST/ GET을 비롯한 요청 헤더가 코드의 내용과 완벽하게 일치하는지 확인하십시오. 네트워크를들을 수 있습니다. HTTP 요청 세부 사항을 식별하는 데 도움이되는 많은 도구가 있습니다.