2017-12-05 1 views
0

Hier mein Code zu bekommen, ist, das funktioniert:Wie XML String zurück von einem javax.ws.rs.core.Response

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

     MyClass message = response.readEntity(MyClass.class); 

Ich möchte auch in der Lage sein, dies zu tun:

if(loggingTurnedOn == true) 
{ 
    logger.debug(XMLfromResponseMessage); 
} 

Aber ich weiß nicht, wie man die rohe XML-Zeichenfolge von der Antwort erhält.

+1

readEntity (String.class) –

+0

das funktioniert, aber dann die Zeile: MyClass message = response.readEntity (MyClass.class); Es wird ein Fehler ausgegeben, der besagt, dass nichts zu lesen ist. – jwils

+1

Versuchen Sie https://docs.oracle.com/javaee/7/api/javax/ws/rs/core/Response.html#bufferEntity-- –

Antwort

0

Eine Antwort von einer anderen Frage: Sie können Response # bufferEntity() verwenden, mit der Sie den Entity-Stream mehrmals lesen können.

Response response = ... 
response.bufferEntity(); 
String s = response.readEntity(String.class); 
MyEntity me = response.readEntity(MyEntity.class); 
response.close(); 
Verwandte Themen