Encoding problem dynamical PDF on DSP response page

Dear Forum,

We want to provide our vendors a purchase order in PDF format with a hyperlink on a website, so they can print it out. We developed a confirmation application with DSP pages and Integration Server 4.6.

Our back-office system can create a PO in pdf-format on demand and this will be available in a byte[] in the IS. Now we want to parse this to the vendor.

A link on a DSP page will start the process and this must resulting in a PDF response.

I found out in this forum, we can use pub.flow:setResponse to set the contenttype and pub.report:run…TemplateOnPipe to use dynamically a template, so i can set de responsename to xxxx.pdf

This sounds good, only there is one problem. Both functions need a string object as input and i have a byte[]. Oke, then I have to use encoding/decoding, but then I lose binary characters because I can not find any IANA ecoding that fits. Also base64 is not supported. In this forum I found more problems with encoding but none solution could solve my problem.

A workaround could be to save byte[] to a file and create a hyperlink to that file, but I think this generation process will be to slow.

So I hope someone has a solution for this.

Please let me known,

Robert

I faced a similar problem with an Excel document.
Internally, the file is a byte array, defined like:

ByteArrayOutputStream os = new ByteArrayOutputStream();

And I put it on the pipeline:

IDataUtil.put( pipelineCursor, “outputExcel”, os.toString(“iso-8859-1”) );

And then, I map it to setResponse:response,
setting:
setResponse:contentType=application/vnd.ms-excel
setResponse:encoding=ISO-8859-1

And works fine…

good luck!!

Sebastián
Barcelona, Spain