With Adobe LiveCycle ES we now have access to several complex, open ended data structures.
Two of the most commonly used, list and map, don’t translate well trough web services when they contain other complex types. These structures are based on underlying Java classes (java.util.list and java.util.HashMap). They are incredibly useful, but can present problems when accessing LiveCycle ES workflows through web services. For example lists of documents and maps of documents get converted to arrays of complex types in the SOAP message.
So if you are writing a client application that will use a LiveCycle ES service (that returns one of these complex types) how do you access their contents?
Let’s look at a concrete example to illustrate one way that this can be done:
A Microsoft .Net C# client needs to access an Adobe LiveCycle ES workflow through a web service. The LiveCycle ES workflow will return both a list of documents and a map of documents. The C# application needs to access the PDFs stored in the documents.
Complete instructions: A PDF file with a complete description of the solution (way to long for this blog)
C# source code: (File is encrypted to avoid the virus checker – the password is: password) Source Code
LiveCycle ES Archive: LCA File