2017-12-06 9 views
1

내가 지금하고 있어요 것은 결과입니다 : 2 readEntity에응답에서 readEntity를 두 번 호출하는 방법은 무엇입니까?

java.io.IOException: stream is closed 

()는 처음 읽은 후 스트림을 닫 때문이다.

Response response = target.queryParam("start", startIndex) 
    .queryParam("end", end) 
    .request() 
    .accept(MediaType.APPLICATION_XML) 
    .header(authorizationHeaderName, authorizationHeaderValue) 
    .get(); 

String xml = response.readEntity(String.class); 
ourLogger.debug(xml); 


MyClass message = response.readEntity(MyClass.class); //throws IOException 
+0

마지막 게시물에 내 댓글이 표시되지 않았습니까? 응답에 bufferEntity()를 호출 해주세요. –

+0

죄송합니다. 게시 한 후에도 귀하의 의견을 볼 수 없었습니다. 당신의 솔루션은 효과가 있습니다. 당신이이 질문에 대한 대답으로 그것을 넣으면 그것을 upvote 것입니다 그리고 그것을 올바른 것으로 선택합니다. – jwils

답변

3

당신은 엔티티 스트림 여러 번 읽을 수있는 Response#bufferEntity()을 사용할 수 있습니다 : 여기

내가 뭘하는지입니다.

Response response = ... 
response.bufferEntity(); 
String s = response.readEntity(String.class); 
MyEntity me = response.readEntity(MyEntity.class); 
response.close(); 
+0

이 작동합니다. 고맙습니다. – jwils