If you're working with JAX-RS, I think you actually left out the
critical parts, namely the full request method including the annotations.
That makes it difficult to help. I'm pretty sure that the PDF is
produced properly, but something goes wrong in the communication between
the browser and the server. If you stream the PDF over HTTPS, you might
want to take a look at this:
http://xmlgraphics.apache.org/fop/trunk/servlets.html#ie
What applies to servlet may easily apply to JAX-RS, too.

On 14.04.2011 20:33:42 Ralph Soika wrote:
> Hi,
> I have a strange problem with FOP PDF creation.
> In general everything looks fine. But I try to provide REST Service to 
> create pdf files.
> The result seems to work but the File which is provided by my 
> ResponseBuild consits only of blank pages?
> Also when I try to write the result into a file the file seems to have 
> the right size and is regogniced as a pdf file but the pages are blank.
> Has anybody a idea what I did wrong?
> 
> My JAX-RS Code looks like this..
> ....
> ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
>              try {
> 
>                      ReportService.fopTranformation(sXML, sXSL,
>                  outputStream.flush();
>                  Response.ResponseBuilder builder = 
> Response.ok(outputStream.toString(encoding),
>                          sContentType);
> 
>                  } finally {
>                  outputStream.close();
> 
>                  return builder.build();
>              ......
> ......
> 
> 
>      public static void fopTranformation(String xmlSource, String 
> xslSource,
>              String aEncoding, ByteArrayOutputStream output) throws 
> Exception {
>          // configure fopFactory as desired
>          FopFactory fopFactory = FopFactory.newInstance();
> 
>          FOUserAgent foUserAgent = fopFactory.newFOUserAgent();
>          // configure foUserAgent as desired
> 
>          try {
>              // Construct fop with desired output format
> 
>              Fop fop = fopFactory.newFop(MimeConstants.MIME_PDF, 
> foUserAgent,
>                      output);
> 
>              // Setup XSLT
>              TransformerFactory factory = TransformerFactory.newInstance();
>              ByteArrayInputStream baisXSL = new ByteArrayInputStream(
>                      xslSource.getBytes());
>              InputStreamReader isreaderXSL = new InputStreamReader(baisXSL,
>                      aEncoding);
>              Source xslSrc = new StreamSource(isreaderXSL);
> 
>              Transformer transformer = factory.newTransformer(xslSrc);
> 
>              // Setup input for XSLT transformation
>              ByteArrayInputStream baisXML = new ByteArrayInputStream(
>                      xmlSource.getBytes());
>              InputStreamReader isreaderXML;
> 
>              isreaderXML = new InputStreamReader(baisXML, aEncoding);
> 
>              Source xmlSrc = new StreamSource(isreaderXML);
> 
>              // Resulting SAX events (the generated FO) must be piped 
> through to
>              // FOP
>              Result res = new SAXResult(fop.getDefaultHandler());
> 
>              // Start XSLT transformation and FOP processing
>              transformer.transform(xmlSrc, res);
>          } finally {
>              output.flush();
>              output.close();
>          }
>      }
> -- 



Jeremias Maerki


---------------------------------------------------------------------
To unsubscribe, e-mail: fop-users-unsubscr...@xmlgraphics.apache.org
For additional commands, e-mail: fop-users-h...@xmlgraphics.apache.org

Reply via email to