Muszę przekształcić DOMSource
w StreamSource
, ponieważ biblioteka innych firm akceptuje tylko źródła strumieniowe dla SOAP.Prostszy sposób przekształcenia DOMSource w StreamSource?
wydajność nie jest tak wiele kwestii, w tym przypadku, więc wpadłem na pomysł z tym okropnie gadatliwym zestaw poleceń:
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);
nie istnieje prostszy sposób to zrobić?
"Je"? Masz na myśli Apache i Weblogic? :-) Najśmieszniejsze jest to, że sygnatura metody akceptuje dowolne 'Source', ale dekompilowana implementacja po cichu odrzuca wszystko oprócz' StreamSource' ... –