A client application built with Flex cannot pass a document
directly to a LiveCycle process. Instead, the client application
uses an instance of the mx.rpc.livecycle.DocumentReference ActionScript
class to pass input parameters to an operation that expects a com.adobe.idp.Document instance.
A Flex client application has several options for setting up a DocumentReference object:
When the document is on the server and its file location
is known, set the DocumentReference object’s referenceType property
to REF_TYPE_FILE. Set the fileRef property
to the location of the file, as the following example shows:
...
var docRef:DocumentReference = new DocumentReference();
docRef.referenceType=DocumentReference.REF_TYPE_FILE;
docRef.fileRef = "C:/install/adobe/cs2/How to Uninstall.pdf";
...
When the document is on the server and you know its URL,
set the DocumentReference object’s referenceType property
to REF_TYPE_URL. Set the url property
to the URL, as the following example shows:
...
var docRef:DocumentReference = new DocumentReference();
docRef.referenceType=DocumentReference.REF_TYPE_URL;
docRef.url = "http://companyserver:8080/DocumentManager/116/7855";
...
To create a DocumentReference object from
a text string in the client application, set the DocumentReference object’s referenceType property
to REF_TYPE_INLINE. Set the text property
to the text to include in the object, as the following example shows:
...
var docRef:DocumentReference = new DocumentReference();
docRef.referenceType=DocumentReference.REF_TYPE_INLINE;
docRef.text = "Text for my document";
// Optionally, you can override the server's default character set
// if necessary:
// docRef.charsetName=CharacterSetName
...
When the document is not on the server, use the Remoting
upload servlet to upload a document to LiveCycle. New in
LiveCycle is the ability to upload secure documents. When
uploading a secure document, you have to use a user who has the Document Upload Application User role.
Without this role, the user cannot upload a secure document. It
is recommended that you use single sign on to upload a secure document.
(See Passing secure documents to invoke processes using Remoting.)
Note: if LiveCycle is configured to allow unsecure
documents to be uploaded, you can use a user that does not have
the Document Upload Application User role to upload a document.
A user can also have the Document Upload permission. However, if
LiveCycle is configured to only allow secure documents,
then ensure that the user has the Document Upload Application User role
or Document Upload permission. (See Configuring LiveCycle to accept secure and unsecure documents.)
You
use standard Flash upload capabilities for the designated upload
URL: http://SERVER:PORT/remoting/lcfileupload.
You can then use the DocumentReference object wherever
an input parameter of type Document is expected
private function startUpload():void
{
fileRef.addEventListener(Event.SELECT, selectHandler);
fileRef.addEventListener("uploadCompleteData", completeHandler);
try
{
var success:Boolean = fileRef.browse();
}
catch (error:Error)
{
trace("Unable to browse for files.");
}
}
private function selectHandler(event:Event):void {
var request:URLRequest = new
URLRequest("http://SERVER:PORT/remoting/lcfileupload")
try
{
fileRef.upload(request);
}
catch (error:Error)
{
trace("Unable to upload file.");
}
}
private function completeHandler(event:DataEvent):void
{
var params:Object = new Object();
var docRef:DocumentReference = new DocumentReference();
docRef.url = event.data as String;
docRef.referenceType = DocumentReference.REF_TYPE_URL;
}
The Remoting Quick Start uses the Remoting upload
servlet to pass a PDF file to the MyApplication/EncryptDocument process.
(See Invoking a short-lived process by passing an unsecure document using Remoting.)
|
|
|