Téléchargez le package aem-livecycle-connector depuis le Package Share de l’instance AEM.
Adobe® Experience Manager (AEM) LiveCycle Connector permet l’invocation harmonieuse d’Adobe® LiveCycle® ES4 Document Services à partir d’applications et de flux de production Web AEM. LiveCycle fournit un SDK client riche, qui permet aux applications client d’invoquer les services LiveCycle à l’aide des API Java™. AEM LiveCycle Connector simplifie l’utilisation de ces API dans l’environnement OSGi.
Prise en main
Vous pouvez installer AEM LiveCycle Connector depuis Package Share en suivant la procédure suivante :
-
-
Dans l’Explorateur de packages, cliquez sur Installer pour installer le package.
Une fois le package installé, fournissez des détails du serveur LiveCycle en utilisant les paramètres de configuration dans la console Web AEM.
-
Accédez à la page de configuration de la console Web AEM à l’adresse suivante : http://<nom_serveur>:<port>/system/console/configMgr.
-
Localisez le composant de configuration du SDK client d’Adobe LiveCycle.
-
Cliquez sur le composant pour modifier l’URL, le nom d’utilisateur et le mot de passe du serveur de configuration.
-
Vérifiez les paramètres et cliquez sur Enregistrer.
Bien que les propriétés soient explicites, les plus importantes sont les suivantes :
- URL du serveur : URL du serveur LiveCycle. Si vous souhaitez que LiveCycle et AEM communiquent via https, démarrez AEM avec l’option -Djavax.net.ssl.trustStore=<chemin vers le fichier de clés LC>.
- Nom d’utilisateur : nom d’utilisateur du compte qui sera utilisé pour émettre des appels d’AEM à LiveCycle. Il peut s’agir de tout utilisateur de LiveCycle qui possède les autorisations pour appeler Document Services.
- Mot de passe : mot de passe de l’utilisateur.
- Nom du service : services qui doivent être appelés à l’aide des informations d’identification d’utilisateur fournies dans Nom d’utilisateur et Mot de passe. Par défaut, aucune information d’identification n’est transmise lors de l’appel de services LiveCycle.
Appel de Document services
Les applications client peuvent appeler, par programmation, des services LiveCycle en utilisant une API Java, des services Web, Remoting et REST. Pour les clients Java, l’application peut utiliser le SDK LiveCycle, qui fournit une API Java permettant d’invoquer ces services à distance. Par exemple, pour convertir un document Microsoft® Word au format PDF, le client a besoin d’invoquer GeneratePDFService. Le flux d’appel se compose des étapes suivantes :
-
Créer une instance de ServiceClientFactory.
-
Chaque service fournit une classe de client. Selon le service à appeler, l’instance de client correspondante doit être créée.
-
Appeler le service.
-
Traiter le résultat.
- Instances de client en tant que service OSGi : les clients conditionnés en tant que groupes OSGI sont répertoriés dans la section Liste de Document Services. Chaque jar client enregistre à son tour l’instance de client comme service OSGi auprès du registre de services OSGi.
- Propagation des informations d’identification : les détails de connexion requis pour la connexion au serveur LiveCycle sont maintenant gérés de manière centralisée.
- Service ServiceClientFactory : les applications clientes peuvent encore accéder à l’instance de ServiceClientFactory si elles doivent appeler des processus.
Appel via les références des services depuis le registre des services OSGi
Pour appeler un service exposé à partir d’AEM, effectuez les étapes suivantes :
-
Déterminez les dépendances maven.
Ajoutez une dépendance au jar client requis dans pom.xml de maven. Au minimum, vous devez ajouter une dépendance aux jars adobe-livecycle-client et adobe-usermanager-client.
<dependency> <groupId>com.adobe.livecycle</groupId> <artifactId>adobe-livecycle-client</artifactId> <version>11.0.0</version> </dependency> <dependency> <groupId>com.adobe.livecycle</groupId> <artifactId>adobe-usermanager-client</artifactId> <version>11.0.0</version> </dependency> <dependency> <groupId>com.adobe.livecycle</groupId> <artifactId>adobe-cq-integration-api</artifactId> <version>11.0.0</version> </dependency>
Maintenant, selon le service à invoquer, ajoutez la dépendance Maven correspondante en fonction du tableau ci-dessous (voir la section Liste de Document Services). Par exemple, pour générer un fichier PDF, ajoutez la dépendance suivante.
<dependency> <groupId>com.adobe.livecycle</groupId> <artifactId>adobe-generatepdf-client</artifactId> <version>11.0.0</version> </dependency>
-
Obtenez la référence du service.
Ajoutez une poignée l’instance de service. Si vous écrivez une classe Java, vous pouvez utiliser les annotations de services déclaratifs.
import com.adobe.livecycle.generatepdf.client.GeneratePdfServiceClient; import com.adobe.livecycle.generatepdf.client.CreatePDFResult; import com.adobe.idp.Document; @Reference GeneratePdfServiceClient generatePDF; ... Resource r = resourceResolver.getResource("/path/tp/docx"); Document sourceDoc = new Document(r.adaptTo(InputStream.class)); CreatePDFResult result = generatePDF.createPDF2( sourceDoc, extension, //inputFileExtension null, //fileTypeSettings null, //pdfSettings null, //securitySettings settingsDoc, //settingsDoc null //xmpDoc );
Dans le fragment de code ci-dessus, nous appelons l’API createPDF de GeneratePdfServiceClient pour convertir un document au format PDF. Elle implémente la même logique, comme décrit dans l’exemple de mise en route.
Vous pouvez effectuer le même appel dans un JSP en utilisant le code suivant. La principale différence ici est la façon dont nous obtenons l’accès à GeneratePdfServiceClient via le Sling ScriptHelper.
<%@ page import="com.adobe.livecycle.generatepdf.client.GeneratePdfServiceClient" %> <%@ page import="com.adobe.livecycle.generatepdf.client.CreatePDFResult" %> <%@ page import="com.adobe.idp.Document" %> GeneratePdfServiceClient generatePDF = sling.getService(GeneratePdfServiceClient.class); Document sourceDoc = ... CreatePDFResult result = generatePDF.createPDF2( sourceDoc, extension, //inputFileExtension null, //fileTypeSettings null, //pdfSettings null, //securitySettings settingsDoc, //settingsDoc null //xmpDoc );
Exemple de package
Vous pouvez télécharger et utiliser l’exemple de package suivant pour la conversion d’un document Microsoft Word au format PDF.
Telechargement
<p">Pour utiliser l’exemple de package, procédez comme suit :</p">
- Cliquez sur le fichier aem-lc-connector-sample-pkg-1.0.0.zip pour télécharger l’exemple de package.
- Téléchargez et installez le package joint dans AEM.
- Pour convertir un document Microsoft Word au format PDF, accédez à http://<nom_hôte>:<port>/content/livecycle/connector/samples/convertdoc-toPDF.html.
- Choisissez le fichier à convertir au format PDF, puis cliquez sur Convertir.
- Pour parcourir le code de ce service à l’aide de CRXDE Lite, accédez à apps/livecycle/connector/samples/pdfg/POST.jsp.
Appel via ServiceClientFactory
Dans certains cas, comme appeler un processus, la logique de client nécessite d’accéder au ServiceClientFactory.
import com.adobe.livecycle.dsc.clientsdk.ServiceClientFactoryProvider; import com.adobe.idp.dsc.clientsdk.ServiceClientFactory; @Reference ServiceClientFactoryProvider scfProvider; ... ServiceClientFactory scf = scfProvider.getDefaultServiceClientFactory(); ...
Prise en charge de RunAs
La plupart des Document services dans LiveCycle nécessitent une authentification. Il est possible d’appeler ces services sans fournir d’informations d’identification explicites dans le code. Vous pouvez utiliser l’une des options suivantes.
Configuration de liste blanche
La configuration du SDK client LiveCycle contient un paramètre sur les noms de service. Il s’agit d’une liste de services pour lesquels la logique d’appel utilise des informations d’identification d’administrateur (partie de la même configuration) de manière standard. Si, par exemple, vous ajoutez des services DirectoryManager (qui font partie de l’API de gestion d’utilisateur) à cette liste, tout code client peut utiliser directement le service et la couche d’appel transmet automatiquement les informations d’identification configurées dans le cadre de la demande envoyée au serveur LiveCycle
RunAsManager
Dans le cadre de l’intégration, un nouveau service RunAsManager est fourni. Il permet de contrôler par programmation les informations d’identification à utiliser quand vous émettez un appel au serveur LiveCycle.
import com.adobe.livecycle.dsc.clientsdk.security.PasswordCredential; import com.adobe.livecycle.dsc.clientsdk.security.PrivilegedAction; import com.adobe.livecycle.dsc.clientsdk.security.RunAsManager; import com.adobe.idp.dsc.registry.component.ComponentRegistry; @Reference private RunAsManager runAsManager; List<Component> components = runAsManager.doPrivileged(new PrivilegedAction<List<Component>>() { public List<Component> run() { return componentRegistry.getComponents(); } }); assertNotNull(components);
Si vous souhaitez transmettre des informations d’identification, vous pouvez utiliser la méthode surchargée qui prend une instance de PasswordCredential.
PasswordCredential credential = new PasswordCredential("administrator","password"); List<Component> components = runAsManager.doPrivileged(new PrivilegedAction<List<Component>>() { public List<Component> run() { return componentRegistry.getComponents(); } },credential);
Propriété InvocationRequest
Si vous appelez un processus ou utilisez directement ServiceClientFactory et créez une InvocationRequest, vous pouvez spécifier une propriété pour indiquer que cette couche d’appel doit utiliser des informations d’identification configurées.
import com.adobe.idp.dsc.InvocationResponse import com.adobe.idp.dsc.InvocationRequest import com.adobe.livecycle.dsc.clientsdk.ServiceClientFactoryProvider import com.adobe.idp.dsc.clientsdk.ServiceClientFactory import com.adobe.livecycle.dsc.clientsdk.InvocationProperties ServiceClientFactoryProvider scfp = sling.getService(ServiceClientFactoryProvider.class) ServiceClientFactory serviceClientFactory = scfp.getDefaultServiceClientFactory() InvocationRequest ir = serviceClientFactory.createInvocationRequest("sample/LetterSubmissionProcess", "invoke", new HashMap(), true); //Here we are invoking the request with system user ir.setProperty(InvocationProperties.INVOKER_TYPE,InvocationProperties.INVOKER_TYPE_SYSTEM) InvocationResponse response = serviceClientFactory.getServiceClient().invoke(ir);
Liste de Document Services
Groupe d’API de SDK client Adobe LiveCycle
Services exposés :
- com.adobe.idp.um.api.AuthenticationManager
- com.adobe.idp.um.api.DirectoryManager
- com.adobe.idp.um.api.AuthorizationManager
- com.adobe.idp.dsc.registry.service.ServiceRegistry
- com.adobe.idp.dsc.registry.component.ComponentRegistry
Dépendances Maven :
<dependency> <groupId>com.adobe.livecycle</groupId> <artifactId>adobe-livecycle-client</artifactId> <version>11.0.0</version> </dependency> <dependency> <groupId>com.adobe.livecycle</groupId> <artifactId>adobe-usermanager-client</artifactId> <version>11.0.0</version> </dependency>
Groupe de SDK client Adobe LiveCycle
Services exposés :
- com.adobe.livecycle.dsc.clientsdk.security.RunAsManager
- com.adobe.livecycle.dsc.clientsdk.ServiceClientFactoryProvider
Dépendances Maven :
<dependency> <groupId>com.adobe.livecycle</groupId> <artifactId>adobe-livecycle-cq-integration-api</artifactId> <version>1.1.10</version> </dependency>
Groupe de client Adobe Livecycle TaskManager
Services exposés :
- com.adobe.idp.taskmanager.dsc.client.task.TaskManager
- com.adobe.idp.taskmanager.dsc.client.TaskManagerQueryService
- com.adobe.idp.taskmanager.dsc.client.queuemanager.QueueManager
- com.adobe.idp.taskmanager.dsc.client.emailsettings.EmailSettingService
- com.adobe.idp.taskmanager.dsc.client.endpoint.TaskManagerEndpointClient
- com.adobe.idp.taskmanager.dsc.client.userlist.UserlistService
Dépendances Maven :
<dependency> <groupId>com.adobe.livecycle</groupId> <artifactId>adobe-taskmanager-client</artifactId> <version>11.0.0</version> </dependency>
Groupe de client Adobe LiveCycle Workflow
Services exposés :
- com.adobe.idp.workflow.client.WorkflowServiceClient
Dépendances Maven :
<dependency> <groupId>com.adobe.livecycle</groupId> <artifactId>adobe-workflow-client-sdk</artifactId> <version>11.0.0</version> </dependency>
Groupe de client Adobe LiveCycle PDF Generator
Services exposés :
- com.adobe.livecycle.generatepdf.client.GeneratePdfServiceClient
Dépendances Maven :
<dependency> <groupId>com.adobe.livecycle</groupId> <artifactId>adobe-generatepdf-client</artifactId> <version>11.0.0</version> </dependency>
Groupe de client Adobe LiveCycle Application Manager
Services exposés :
- com.adobe.idp.applicationmanager.service.ApplicationManager
- com.adobe.livecycle.applicationmanager.client.ApplicationManager
- com.adobe.livecycle.design.service.DesigntimeService
Dépendances Maven :
<dependency> <groupId>com.adobe.livecycle</groupId> <artifactId>adobe-applicationmanager-client-sdk</artifactId> <version>11.0.0</version> </dependency>
Groupe de client Adobe LiveCycle Assembler
Services exposés :
- com.adobe.livecycle.assembler.client.AssemblerServiceClient
Dépendances Maven :
<dependency> <groupId>com.adobe.livecycle</groupId> <artifactId>adobe-assembler-client</artifactId> <version>11.0.0</version> </dependency>
Groupe de client Adobe LiveCycle Form Data Integration
Services exposés :
- com.adobe.livecycle.formdataintegration.client.FormDataIntegrationClient
Dépendances Maven :
<dependency> <groupId>com.adobe.livecycle</groupId> <artifactId>adobe-formdataintegration-client</artifactId> <version>11.0.0</version> </dependency>
Groupe de client Adobe LiveCycle Forms
Services exposés :
- com.adobe.livecycle.formsservice.client.FormsServiceClient
Dépendances Maven :
<dependency> <groupId>com.adobe.livecycle</groupId> <artifactId>adobe-forms-client</artifactId> <version>11.0.0</version> </dependency>
Groupe de client Adobe LiveCycle Output
Services exposés :
- com.adobe.livecycle.output.client.OutputClient
Dépendances Maven :
<dependency> <groupId>com.adobe.livecycle</groupId> <artifactId>adobe-output-client</artifactId> <version>11.0.0</version> </dependency>
Groupe de client Adobe LiveCycle Reader Extensions
Services exposés :
- com.adobe.livecycle.readerextensions.client.ReaderExtensionsServiceClient
Dépendances Maven :
<dependency> <groupId>com.adobe.livecycle</groupId> <artifactId>adobe-reader-extensions-client</artifactId> <version>11.0.0</version> </dependency>
Groupe de client Adobe LiveCycle Rights Manager
Services exposés :
- com.adobe.livecycle.rightsmanagement.client.DocumentManager
- com.adobe.livecycle.rightsmanagement.client.EventManager
- com.adobe.livecycle.rightsmanagement.client.ExternalUserManager
- com.adobe.livecycle.rightsmanagement.client.LicenseManager
- com.adobe.livecycle.rightsmanagement.client.WatermarkManager
- com.adobe.livecycle.rightsmanagement.client.PolicyManager
- com.adobe.livecycle.rightsmanagement.client.AbstractPolicyManager
Dépendances Maven :
<dependency> <groupId>com.adobe.livecycle</groupId> <artifactId>adobe-rightsmanagement-client</artifactId> <version>11.0.0</version> </dependency>
Groupe de client Adobe LiveCycle Signatures
Services exposés :
- com.adobe.livecycle.signatures.client.SignatureServiceClientInterface
Dépendances Maven :
<dependency> <groupId>com.adobe.livecycle</groupId> <artifactId>adobe-signatures-client</artifactId> <version>11.0.0</version> </dependency>
Groupe de client Adobe LiveCycle Truststore
Services exposés :
- com.adobe.truststore.dsc.TrustConfigurationService
- com.adobe.truststore.dsc.CRLService
- com.adobe.truststore.dsc.CredentialService
- com.adobe.truststore.dsc.CertificateService
Dépendances Maven :
<dependency> <groupId>com.adobe.livecycle</groupId> <artifactId>adobe-truststore-client</artifactId> <version>11.0.0</version> </dependency>
Groupe de client Adobe LiveCycle Repository
Services exposés :
- com.adobe.repository.bindings.ResourceRepository
- com.adobe.repository.bindings.ResourceSynchronizer
Dépendances Maven :
<dependency> <groupId>com.adobe.livecycle</groupId> <artifactId>adobe-repository-client</artifactId> <version>11.0.0</version> </dependency>
Ressources
Adobe
Recevez de l’aide plus rapidement et plus facilement
Nouvel utilisateur ?