You can programmatically create associations between content
by using the Java API or web service API. For example, consider
the files shown in this illustration.
Note:
Adobe is migrating Content Services ES customers
to the Content Repository built on the modern, modular CRX architecture,
acquired during the Adobe acquisition of Day Software. The Content
Repository is provided with LiveCycle Foundation and is available
as of the LiveCycle ES4 release.
The illustration shows an association between a PDF form named
MortgageForm.pdf
and
an XML file named
Loan.xml
. The XML file represents form data
that is used to populate the form with data. There are three kinds
of associations:
-
linkedBy
: An association between an XML data file
and a PDF form. The XML file must have the aspect linkable applied
to it. This association is a many-to-one association, which means
that multiple data files can be associated with the same PDF form.
-
linkedTo
: An association between two PDF documents.
The source document must have the aspect PDFToPDFLink applied to
it. This association is a many-to-one association, which means that
two or more documents can be linked together.
-
linkedToXML
: An association between an XDP Document
attachment and the XDP data XML file. The attachment must have the
aspect xdpAttachment applied to it. This association is a many-to-one
association, which means that multiple XDP Document attachments
can be associated with a single XML file.
Note:
Access to Document Management service operations
using APIs was added in LiveCycle.
The web service quick starts that correspond to the Document
Management service use the following WSDL:
http://localhost:8080/soap/services/DocumentManagementService?WSDL&lc_version=9.0.1
Summary of steps
To create an association between content, follow these
steps:
-
Include project files.
-
Create the service client.
-
Set the required aspect values.
-
Define the association.
Include project files
Include the necessary files in your development
project. If you are using Java to create a client application, include
the necessary JAR files. If you are using web services, include
the proxy files.
Add the following JAR files to your project’s
class path:
-
adobe-livecycle-client.jar
-
adobe-usermanager-client.jar
-
adobe-contentservices-client.jar
-
adobe-utilities.jar (required if LiveCycle is deployed on
JBoss)
-
jbossall-client.jar (required if LiveCycle is deployed on
JBoss)
Note:
These JAR files are required
if you are using the EJB connection mode. If you are using the SOAP
connection mode, include additional JAR files.
Create the service client
Before you can programmatically create
associations, establish a connection and provide credentials. This
task is accomplished by creating a service client.
Set the required aspect values
When creating an association,
ensure that the proper aspect is set. The required aspect is dependent
on the type of association. That is, if you create a
linkedBy
association,
ensure that the source document contains a
linkable
aspect.
The following example shows a
linkable
aspect:
{http://www.adobe.com/lc/datacapture/1.0}linkable
If
you are creating a
linkedTo
association, ensure
that the source document contains a
PDFToPDFLink
aspect.
A
PDFToPDFLink
aspect is expressed as:
{http://www.adobe.com/lc/datacapture/1.0}PDFToPDFLink
If
you are creating a
linkedToXML
association, ensure
that the source document contains a
PDFToPDFLink
aspect.
A
PDFToPDFLink
aspect is expressed as:
{http://www.adobe.com/lc/nativereference/1.0}xdpAttachment
You
can obtain all applicable aspect values by using the Document Management’s
getAspectsList
method.
Define the association
After you set the required aspect value,
you can define the association between content. When defining content,
specify the parent content, child content, aspect values, and attributes.
The corresponding quick starts demonstrate how to set the description
attribute.
Create Content Services (deprecated) associations using the Java API
Create an association between content by using the Document
Management Service API (Java) (Deprecated):
-
Include project files.
Include client JAR files,
such as adobe-contentservices-client.jar, in your Java project’s
class path.
-
Create the service client.
-
Set the required aspect values.
-
Create a
java.util.List
object
by using the
ArrayList
constructor. The
java.util.List
object
is used to store aspect values.
-
Invoke the
java.util.List
object’s
add
method
and pass a string value that specifies the aspect value. For example,
if you are creating a
linkedBy
association, pass
{http://www.adobe.com/lc/datacapture/1.0}linkable
.
-
Invoke the
DocumentManagementServiceClientImpl
object’s
setContentAttributes
method
and pass the following values:
-
A string value that
specifies the store where the content is added. The default store
is
SpacesStore
. This value is a mandatory parameter.
-
A string value that specifies the fully qualified path to
the content (for example,
/Company Home/MortgageForm.pdf
).
This value is a mandatory parameter.
-
The
java.util.List
object that contains
the aspect value.
-
A
java.util.Map
object that contains content
attributes.
-
Define the association.
Invoke the
DocumentManagementServiceClientImpl
object’s
createAssociation
method
and pass the following arguments:
-
A string value that
specifies the store where the content is added. The default store
is
SpacesStore
. This value is a mandatory parameter.
-
A string value that specifies the association type. To create
a
linkedBy
association, pass
{http://www.adobe.com/lc/datacapture/1.0}linkable
. This
value is a mandatory parameter.
-
A string value that specifies the fully qualified path to
the parent content. For example, if you create a
linkedBy
association,
specify the path to the PDF document. This value is a mandatory
parameter.
-
A string value that specifies the fully qualified path to
the child content. For example, if you create a
linkedBy
association,
specify the path to the XML document. This value is a mandatory
parameter.
Create Content Services (deprecated) associations using the web service API
Create an association between content by using the Document
Management Service API (web service) (Deprecated):
-
Include project files.
Create a Microsoft .NET
client project that uses MTOM and consumes the Document Management
WSDL.
-
Create the service client.
-
Create a
DocumentManagementServiceClient
object
by using its default constructor.
-
Create a
DocumentManagementServiceClient.Endpoint.Address
object
by using the
System.ServiceModel.EndpointAddress
constructor.
Pass a string value that specifies the WSDL to the LiveCycle service,
such as
http://localhost:8080/soap/services/DocumentManagementService
.
You do not need to use the
lc_version
attribute.
This attribute is used when you create a service reference.
-
Create a
System.ServiceModel.BasicHttpBinding
object
by using the value of the
DocumentManagementServiceClient.Endpoint.Binding
field.
Cast the return value to
BasicHttpBinding
.
-
Set the
System.ServiceModel.BasicHttpBinding
object’s
MessageEncoding
field
to
WSMessageEncoding.Mtom
. This value ensures that
MTOM is used.
-
Enable basic HTTP authentication by performing the following
tasks:
-
Assign the AEM forms user name to the field
DocumentManagementServiceClient.ClientCredentials.UserName.UserName
.
-
Assign the corresponding password value to the field
DocumentManagementServiceClient.ClientCredentials.UserName.Password
.
-
Assign the constant value
HttpClientCredentialType.Basic
to the
field
BasicHttpBindingSecurity.Transport.ClientCredentialType
.
-
Assign the constant value
BasicHttpSecurityMode.TransportCredentialOnly
to
the field
BasicHttpBindingSecurity.Security.Mode
.
-
Set the required aspect values.
-
Create a
MyArrayOf_xsd_string
object
by using its constructor. The
MyArrayOf_xsd_string
object
is used to store aspect values.
-
Invoke the
MyArrayOf_xsd_string
object’s
Add
method
and pass a string value that specifies the aspect value. For example,
if you are creating a
linkedBy
association, pass
{http://www.adobe.com/lc/datacapture/1.0}linkable
.
-
Invoke the
DocumentManagementServiceClient
object’s
setContentAttributesAPI
method
and pass the following values:
-
A string value that
specifies the store where the content is added. The default store
is
SpacesStore
. This value is a mandatory parameter.
-
A string value that specifies the fully qualified path to
the content (for example,
/Company Home/MortgageForm.pdf
).
This value is a mandatory parameter.
-
The
MyArrayOf_xsd_string
object that contains
the aspect value.
-
A
MyMapOf_xsd_string_To_xsd_anyType
object
that contains content attributes.
-
Define the association.
Invoke the
DocumentManagementServiceClient
object’s
createAssociation
method
and pass the following arguments:
-
A string value that
specifies the store where the content is added. The default store
is
SpacesStore
. This value is a mandatory parameter.
-
A string value that specifies the association type. To create
a
linkedBy
association, pass
{http://www.adobe.com/lc/datacapture/1.0}linkable
. This
value is a mandatory parameter.
-
A string value that specifies the fully qualified path to
the parent content. For example, if you create a
linkedBy
association,
specify the path to the PDF document. This value is a mandatory
parameter.
-
A string value that specifies the fully qualified path to
the child content. For example, if you create a
linkedBy
association,
specify the path to the XML document. This value is a mandatory
parameter.
|
|
|