Recupere todo el cuerpo de respuesta XML con Guzzle 6 HTTP Client

Quería usar Guzzle 6 para recuperar una respuesta xml de una API remota. Este es mi código:

$client = new Client([
    'base_uri' => '<my-data-endpoint>',
]);
$response = $client->get('<URI>', [
    'query' => [
        'token' => '<my-token>',
    ],
    'headers' => [
        'Accept' => 'application/xml'
    ]
]);
$body = $response->getBody();

Vardumping the$body devolvería unGuzzleHttp\Psr7\Stream objeto:

object(GuzzleHttp\Psr7\Stream)[453] 
private 'stream' => resource(6, stream)
...
...

Entonces podría llamar$body->read(1024) leer 1024 bytes de la respuesta (que se leería en xml).

Sin embargo, me gustaría recuperar toda la respuesta XML de mi solicitud, ya que tendré que analizarla más tarde usando elSimpleXML extensión.

¿Cómo puedo recuperar mejor la respuesta XML deGuzzleHttp\Psr7\Stream objeto para que se pueda usar para analizar?

¿Elwhile recorrer el camino a seguir?

while($body->read(1024)) {
    ...
}

Agradecería tu consejo.

Respuestas a la pregunta(4)

Su respuesta a la pregunta