Di per sé NON serve ottenere un nuovo byte[] array ... semplicemente è uno spreco di risorse. ByteArrayOutputStream ha size() e il writeTo(OutputStream out) citato prima.
Ma a parte lo "spreco" di memoria, non vedo nulla di palesemente/grossolanamente errato.
nulla in che senso?
- la response è completamente vuota o c'è qualcosa?
- se c'è qualcosa che cosa è? (analizzalo con un hex editor/viewer, eventualmente)
- c'è qualche eccezione?