Devo trasformare un DOMSource
in un StreamSource
, perché una libreria di terze parti accetta solo sorgenti di streaming per SOAP.Modo più semplice per trasformare un DOMSource in un StreamSource?
prestazioni non è tanto di un problema in questo caso, così sono venuto su con questo insieme terribilmente verboso di comandi:
DOMSource src = new DOMSource(document);
TransformerFactory factory = TransformerFactory.newInstance();
Transformer transformer = factory.newTransformer();
StreamResult result = new StreamResult();
ByteArrayOutputStream out = new ByteArrayOutputStream();
result.setOutputStream(out);
transformer.transform(src, result);
ByteArrayInputStream in = new ByteArrayInputStream(out.toByteArray());
StreamSource streamSource = new StreamSource(in);
non c'è un modo più semplice per fare questo?
"Loro"? Intendi sia Apache che Weblogic? :-) La cosa divertente è che la firma del metodo accetta qualsiasi 'Source', ma l'implementazione decompilata rifiuta tranquillamente tutto tranne 'StreamSource' ... –