User Answers

Thank you Giba!

Yes I have now gone back and changed the call from the Business Service to act synchronously and this has rectified the issue!  The simplest way to do this was to set the Ack Mode to 'application' so that a new message was not received on the Service until the process had sent back an application Ack for the previous message (which it does at the end of the process).

Many thanks for all of your help solving this!

Thanks Rubens/Sean/Dmitry,

 

I decided to switch to the long strings route as the documents are small.  I couldn't get this working either but it was because I wasn't reading the stream in a number divisible by 3 (I was just doing a .ReadLine() ).  Have performed a Read(12000) and it now works a treat!  PDF opening up in the supplier's system.

Have worked it out myself, read in PDF file as %FileBinaryStream and then read through and count the occurrences of /Page (but not /Pages), and this seems to be giving me the correct number of pages for all of the files I have tried so far!

We don't get a lot of choice/option in how we move documents and always seem to be dictated to by the source and receiving systems. We use Ensemble to pick up/receive documents and then manipulate them into whatever method the receiving system can receive them in. Some examples of what we do; * We pick up documents as streams from within an application database (using SQL Adapter), and querying other application database tables for metadata. * We then transform this into an MDM^T02 message and send out (with PDF stream or HTML inside).