2017-01-20 8 views
0

내가 JAX-RS는 요청을받을 수 있나요하는 동안 오류가 다음 받고 있어요 :JAX-RS는 GET : 일반 미디어 유형 = 텍스트/찾을 수 없습니다 MessageBodyReader

Response response = target("jobs/Hello") 
     .request() 
     .header("intuit_offeringid", "testOfferingId") 
     .header(RequestHeaders.REALM, CommonUtil.DEFAULT_REALM_ID_FOR_INTUIT_EMPLOYEE) 
     .header(RequestHeaders.AUTH, "002923") 
     .header(RequestHeaders.TICKET,"00303") 
     .get(Response.class); 
: 아래
MessageBodyReader not found for media type=text/plain, type=class com.intuit.accountant.services.common.cdm.Job, genericType=class com.intuit.accountant.services.common.cdm.Job 

내 코드입니다

이 오류는 무엇을 의미합니까? 이 문제를 어떻게 해결할 수 있습니까?

+0

당신은 서버 코드는 보여줄 수 있습니까? –

답변

0

모든 코드를 게시해야합니다. 게시 한 코드 샘플에서 오류가 거의 발생하지 않습니다. get (Response.class)는 응답 페이로드, 상태, 응답 헤더 등을 볼 수있는 일반적인 http 응답으로 변환합니다.

게시하지 않은 내용은 거의 이와 같이 보입니다. response.readEntity (com.intuit.accountant.services.common.cdm.Job)

이 경우 서버에서 엔티티로 텍스트/일반 응답을 변환하도록 등록 된 독자가 없습니다. 응답이 json/xml로되어 있는지, 그리고 어떤 종류의 오류가 있었기 때문에 텍스트를 받고 있는지 나는 모른다. 당신은 당신이 얻고있는 것을보기 위해 이와 같은 텍스트로 응답을 확인해야합니다. 이것은 아마도 올바른 방향으로 당신을 가리킬 것입니다. 텍스트를 얻으려면 일반 텍스트를 엔티티로 변환하기 위해 MessageBodyReader 구현을 작성해야합니다.

이 시도

...

System.out.println("Response body is " + response.getEntity(String.class)); 
+0

'getEntity (Class entityType)'메소드가'Response' 클래스에 존재하지 않습니다. 아마도'readEntity (Class entityType)'를 의미했을 것입니다. –

+0

저지 2이면 getEntity()입니다. https://stackoverflow.com/questions/27341788/jersey-clientresponse-getentity-of-generic-type –