We have an application where a dropdown is loaded with the items through a wsdl call when the user selects a particular value in another field of the from. The webservice returns a map of key value pairs where the display item is different than the value bound to the item.
After selecting the value in this dropdown if we save the form and open it again in workspace or submit the form and open in the next level of the workflow the dropdown items are not retained. only the value selected(not the display item) is seen in the dropdown field.
What is the best way to retain the list items(key-value pairs) after populating the dropdown through a web service call.
Option 1: Call the WebService onDocReady(or similar) event; This will load the data everytime you open the form; Its a costly operation because of network overload.
Option 2: Load your Key Value Pair (through Web Service) and save them in a Hidden Text Field. This prevent multiple invocations. Forms can be used offline. File size will be increased which might cause slight delay while rendering.
I prefer option 2.