2012-10-11 3 views
0

Unauthorized (401)로 응답하는 특정 연결을 디버깅하려고합니다. Restlet에서는 Respresentation.get()이 오류를 발생시킵니다.Restlet : 실패한 get()에 대한 응답 본문 얻기

내가 원하는 것은이 특정 API가 몸에 더 큰 오류 정보를 제공하므로 응답 본문을 얻는 것입니다.

제안 사항?

덕분에, 누가 복음

답변

1

내가 생산하지만 확실히 오류가 발생되는 조건을 변경 ClientResource에 handleInbound를 오버라이드 (override) 할 수 있습니다 디버깅을 권하고하기를 꺼려 할 것이다. 그런 다음 Restlet은 평소와 같이 본문을 반환합니다.

ClientResource clientResource = new ClientResource("http://your.url") { 
    @Override 
    public Representation handleInbound(Response response) { 
    Representation result = null; 

    if (response.getRequest().isSynchronous()) { 
     if (response.getStatus().isError() 
     && !Status.CLIENT_ERROR_UNAUTHORIZED.equals(response.getStatus())) { 
      doError(response.getStatus()); 
     } else { 
      result = (response == null) ? null : response.getEntity(); 
     } 
    } 

    return result; 
    } 
}; 
Representation response = clientResource.get(); 
System.out.println(response.getText()); 
+0

다른 내부 오류로 인해 아직 작동하지 않지만 해결 방법으로 이어질 것으로 확신합니다. 감사합니다. –

관련 문제