So I have this code which works.
ByteArrayInputStream myByteArrayInputStream;
InputSource myInputSource;
SAXSource myXmlSAXSource;
ByteArrayOutputStream myPdfBAOS;
myFoFileOutputStream = new FileOutputStream(myFoFile);
myFoByteArrayOutputStream = new ByteArrayOutputStream();
myStreamResult = new StreamResult(myFoByteArrayOutputStream);
myByteArrayInputStream = new ByteArrayInputStream(myXmlByteData);
myInputSource = new InputSource(myByteArrayInputStream);
myXmlSAXSource = new SAXSource(myInputSource);
myTransformer.transform(myXmlSAXSource,myStreamResult);
myFoByteArrayOutputStream.writeTo(myFoFileOutputStream);
myFoByteArrayOutputStream.close();
myPdfBAOS = new ByteArrayOutputStream();
myByteArrayInputStream = new ByteArrayInputStream(myXmlByteData);
myInputSource = new InputSource(myByteArrayInputStream);
myXmlSAXSource = new SAXSource(myInputSource);
myFop = myFopFactory.newFop(fopMimeValue, myUserAgent, myPdfBAOS);
myTransformResult = new SAXResult(myFop.getDefaultHandler());
myTransformer.transform(myXmlSAXSource, myTransformResult);

Now I try to rearrange that to a 2 step process to use the FO as input,
and it crashes on the last statement.  What am I missing?
ByteArrayOutputStream myFoByteArrayOutputStream;
StreamResult myStreamResult;
SAXSource myXmlSAXSource;
byte[] myFoByteData;
ByteArrayOutputStream myPdfBAOS;
myFoByteArrayOutputStream = new ByteArrayOutputStream();
myStreamResult = new StreamResult(myFoByteArrayOutputStream);
myXmlSAXSource = createSAXSource(myXmlByteData);
myTransformer.transform(myXmlSAXSource,myStreamResult);
myFoByteData = myFoByteArrayOutputStream.toByteArray();
myFoByteArrayOutputStream.close();
ByteArrayInputStream myByteArrayInputStream;
InputSource myInputSource;
SAXSource myFoSAXSource;
myPdfBAOS = new ByteArrayOutputStream();
myByteArrayInputStream = new ByteArrayInputStream(myFoByteData);
myInputSource = new InputSource(myByteArrayInputStream);
myFoSAXSource = new SAXSource(myInputSource);
myFop = myFopFactory.newFop(fopMimeValue, myUserAgent, myPdfBAOS);
myTransformResult = new SAXResult(myFop.getDefaultHandler());
myTransformer.transform(myFoSAXSource, myTransformResult);

Reply via email to