I'm using the Visual Studio project from the livecycle blog (http://blogs.adobe.com/livecycle/2008/01/invoke_livecycle_with_visual_b.html) to merge the sample purchase order (PO.pdf) with xml data.
lcFormsResult.outputContent.remoteURL comes back with a valid url, which I can open in IE to view the pdf. However, I would like to get the binary data and display that instead, but lcFormsResult.outputContent.binaryData is coming back as Nothing, likewise with blobRenderPDFForm.binaryData. Any idea why this might be or how I can get the binary data?
The BLOB type is used to represent the com.adobe.idp.Document object in WSDL. The BLOB type is used to send/return the data to/from the LiveCycle server via the following ways: <br /><br />(1) Base64-encoded string passed in the BLOB.BinaryData field.<br />(2) MIME or DIME attachment with the attachment id passed in the BLOB.AttachmentID field.<br />(3) Web hosted resource addressed with HTTP URL passed in the BLOB.RemoteURL field.<br /><br />Sometime back, the default way for result BLOBs has changed from (1) to (3). The reason is that the SOAP Reply message is much smaller this way, as it doesn't include the actual Document content. <br /><br />If you still want to get the data as base64 encoded string in BLOB.BinaryData field, then you will have to update your code to enforce the base64-encoded way. <br /><br />To achieve it, the service SOAP URL must be appended with a special "?blob=base64" postfix. Here is an example of how this can be done in C#:<br /><br />EchoServiceService service = new EchoServiceService(); <br />service.Url = <br />"http://<host>:<port>/soap/services/EchoService?blob=base64";<br /> . . .<br /><br />Here is a Java example:<br /><br /> EchoServiceServiceLocator locator = new EchoServiceServiceLocator(); java.net.URL url = new java.net.URL(<br /> "http://<host>:<port>/soap/services/EchoService?blob=base64");<br />EchoServiceService service = locator.getEchoService(url); <br />. . .<br /><br />Thanks,<br />Mayank Gupta