Ansluta AEM Forms till Adobe LiveCycle connecting-aem-forms-with-adobe-livecycle
Adobe Experience Manager (AEM) LiveCycle Connector gör det enkelt att anropa Adobe LiveCycle ES4 Acrobat Services från AEM webbprogram och arbetsflöden. LiveCyclet har en omfattande klient-SDK som gör att klientprogram kan starta LiveCycle-tjänster med Java™-API:er. AEM LiveCycle Connector förenklar användningen av dessa API:er i OSGi-miljön.
Ansluta AEM till Adobe LiveCycle connecting-aem-server-to-adobe-livecycle
AEM LiveCycle Connector ingår i AEM Forms-tilläggspaketet. När du har installerat AEM Forms-tilläggspaketet gör du följande så att du kan lägga till information om LiveCyclet på AEM webbkonsol.
- Gå till konfigurationskomponenten Adobe LiveCycle Client SDK i AEM webbkonsolkonfigurationshanterare.
- Klicka på komponenten så att du kan redigera konfigurationsserverns URL-adress, användarnamn och lösenord.
- Granska inställningarna och klicka på Spara.
Även om egenskaperna är självförklarande är de viktiga följande:
-
Server-URL - Anger URL till LiveCyclet. Om du vill att LiveCycle och AEM ska kommunicera via https, kan du starta AEM med följande JVM
code language-java argument -Djavax.net.ssl.trustStore=<<em>path to LC keystore</em>>
alternativ.
-
Användarnamn - Anger användarnamnet för kontot som används för att upprätta kommunikation mellan AEM och LiveCycle. Kontot är ett användarkonto i LiveCyclet som har behörighet att starta Acrobat Services.
-
Lösenord - Anger lösenordet.
-
Tjänstnamn - Anger vilka tjänster som startas med de användarautentiseringsuppgifter som anges i fälten Användarnamn och Lösenord. Som standard skickas inga autentiseringsuppgifter när LiveCyclet startas.
Startar dokumenttjänster starting-document-services
Klientapplikationer kan starta LiveCycle-tjänster med hjälp av Java™ API, Web Services, Remoting och REST. För Java™-klienter kan programmet använda LiveCyclet SDK. LiveCyclets SDK innehåller ett Java™-API för fjärrstart av dessa tjänster. Om du till exempel vill konvertera ett Microsoft® Word-dokument till PDF startar klienten GeneratePDFService. Anropsflödet består av följande steg:
- Skapa en ServiceClientFactory-instans.
- Varje tjänst tillhandahåller en klientklass. Om du vill starta en tjänst skapar du en klientinstans av tjänsten.
- Starta tjänsten och bearbeta resultatet.
AEM LiveCycle Connector förenklar flödet genom att visa de här klientinstanserna som OSGi-tjänster som kan nås med vanliga OSGi-metoder. Anslutningsenheten för LiveCyclet har följande funktioner:
- Klientinstanser som OSGi-tjänst: Klienterna som paketeras som OSGI-paket listas i avsnittet Acrobat Services-lista. Varje klientjar registrerar klientinstansen som en OSGi-tjänst med OSGi-tjänstregistret.
- Spridning av autentiseringsuppgifter för användare: Anslutningsinformationen som krävs för att ansluta till LiveCyclet hanteras på en central plats.
- ServiceClientFactory-tjänst: För att starta processerna kan klientprogrammet få åtkomst till ServiceClientFactory-instansen.
Starta via tjänstreferenser från OSGi-tjänstregistret starting-via-service-references-from-osgi-service-registry
Så här startar du en exponerad tjänst inifrån AEM:
-
Fastställ maven-beroenden. Lägg till beroendet till den klientjar som behövs i filen maven pom.xml. Lägg till minst beroende i jars för adobe-livecycle-client och adobe-usermanager-client.
code language-xml <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>
Om du vill starta en tjänst lägger du till ett motsvarande Maven-beroende för tjänsten. En lista över beroenden finns i Lista över Acrobat-tjänster. Lägg till exempel till följande beroende för tjänsten Generate PDF:
code language-xml <dependency> <groupId>com.adobe.livecycle</groupId> <artifactId>adobe-generatepdf-client</artifactId> <version>11.0.0</version> </dependency>
-
Hämta tjänstreferensen. Hämta en referens till tjänstinstansen. Om du skriver en Java™-klass kan du använda kommentarerna för deklarativa tjänster.
code language-java 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 );
Ovanstående kodfragment startar createPDF API för GeneratePdfServiceClient för konvertering av ett dokument till PDF. Du kan utföra ett liknande anrop i en JSP med följande kod. Den största skillnaden är att följande kod använder Sling ScriptHelper för att komma åt GeneratePdfServiceClient.
code language-jsp <%@ 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 );
Startar via ServiceClientFactory starting-via-serviceclientfactory
Klassen ServiceClientFactory krävs ibland. Du behöver till exempel ServiceClientFactory för att anropa processer.
import com.adobe.livecycle.dsc.clientsdk.ServiceClientFactoryProvider;
import com.adobe.idp.dsc.clientsdk.ServiceClientFactory;
@Reference
ServiceClientFactoryProvider scfProvider;
...
ServiceClientFactory scf = scfProvider.getDefaultServiceClientFactory();
...
Stöd för RunAs runas-support
Nästan alla Acrobat-tjänster i LiveCyclet kräver autentisering. Du kan använda något av följande alternativ för att starta de här tjänsterna utan att ange specifika autentiseringsuppgifter i koden:
Tillåtelselista-konfiguration allowlist-configuration
SDK-konfigurationen för LiveCycle-klienten innehåller en inställning för tjänstnamn. Den här konfigurationen är en lista över tjänster som anropslogiken använder administratörsbehörighet för. Om du till exempel lägger till DirectoryManager-tjänster (som ingår i API:t för användarhantering) i den här listan kan vilken klientkod som helst använda tjänsten direkt. Dessutom skickar startlagret automatiskt de konfigurerade autentiseringsuppgifterna som en del av den begäran som skickas till LiveCyclet.
RunAsManager runasmanager
Som en del av integreringen tillhandahålls en ny tjänst, RunAsManager. Du kan programmässigt styra vilka autentiseringsuppgifter som ska användas när du anropar LiveCyclet.
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);
Om du vill skicka en annan referens kan du använda den överlagrade metoden som tar en PasswordCredential-instans.
PasswordCredential credential = new PasswordCredential("administrator","password");
List<Component> components = runAsManager.doPrivileged(new PrivilegedAction<List<Component>>() {
public List<Component> run() {
return componentRegistry.getComponents();
}
},credential);
InvocationRequest, egenskap invocationrequest-property
Om du anropar en process eller använder klassen ServiceClientFactory direkt och skapar en InvocationRequest, kan du ange en egenskap som anger att anropslagret ska använda konfigurerade autentiseringsuppgifter.
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);
Acrobat Services-lista document-services-list
Adobe LiveCycle Client SDK API-paket adobe-livecycle-client-sdk-api-bundle
Följande tjänster är tillgängliga:
- 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
Maven-beroenden maven-dependencies
<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>
Adobe LiveCycle Client SDK Bundle adobe-livecycle-client-sdk-bundle
Följande tjänster är tillgängliga:
- com.adobe.livecycle.dsc.clientsdk.security.RunAsManager
- com.adobe.livecycle.dsc.clientsdk.ServiceClientFactoryProvider
Maven-beroenden maven-dependencies-1
<dependency>
<groupId>com.adobe.livecycle</groupId>
<artifactId>adobe-livecycle-cq-integration-api</artifactId>
<version>1.1.10</version>
</dependency>
Adobe LiveCycle TaskManager-klientpaket adobe-livecycle-taskmanager-client-bundle
Följande tjänster är tillgängliga:
- 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
Maven-beroenden maven-dependencies-2
<dependency>
<groupId>com.adobe.livecycle</groupId>
<artifactId>adobe-taskmanager-client</artifactId>
<version>11.0.0</version>
</dependency>
Adobe LiveCycle Workflow Client Bundle adobe-livecycle-workflow-client-bundle
Följande tjänst är tillgänglig:
- com.adobe.idp.workflow.client.WorkflowServiceClient
Maven-beroenden maven-dependencies-3
<dependency>
<groupId>com.adobe.livecycle</groupId>
<artifactId>adobe-workflow-client-sdk</artifactId>
<version>11.0.0</version>
</dependency>
Adobe LiveCycle PDF Generator Client bundle adobe-livecycle-pdf-generator-client-bundle
Följande tjänst är tillgänglig:
- com.adobe.livecycle.generatepdf.client.GeneratePdfServiceClient
Maven-beroenden maven-dependencies-4
<dependency>
<groupId>com.adobe.livecycle</groupId>
<artifactId>adobe-generatepdf-client</artifactId>
<version>11.0.0</version>
</dependency>
Klientpaket för Adobe LiveCycle Application Manager adobe-livecycle-application-manager-client-bundle
Följande tjänster är tillgängliga:
- com.adobe.idp.applicationmanager.service.ApplicationManager
- com.adobe.livecycle.applicationmanager.client.ApplicationManager
- com.adobe.livecycle.design.service.DesigntimeService
Maven-beroenden maven-dependencies-5
<dependency>
<groupId>com.adobe.livecycle</groupId>
<artifactId>adobe-applicationmanager-client-sdk</artifactId>
<version>11.0.0</version>
</dependency>
Klientpaket för Adobe LiveCycle Assembler adobe-livecycle-assembler-client-bundle
Följande tjänst är tillgänglig:
- com.adobe.livecycle.assembler.client.AssemblerServiceClient
Maven-beroenden maven-dependencies-6
<dependency>
<groupId>com.adobe.livecycle</groupId>
<artifactId>adobe-assembler-client</artifactId>
<version>11.0.0</version>
</dependency>
Klientpaket för dataintegrering för LiveCyclet Adobe adobe-livecycle-form-data-integration-client-bundle
Följande tjänst är tillgänglig:
- com.adobe.livecycle.formdataintegration.client.FormDataIntegrationClient
Maven-beroenden maven-dependencies-7
<dependency>
<groupId>com.adobe.livecycle</groupId>
<artifactId>adobe-formdataintegration-client</artifactId>
<version>11.0.0</version>
</dependency>
Adobe LiveCycle Forms Client bundle adobe-livecycle-forms-client-bundle
Följande tjänst är tillgänglig:
- com.adobe.livecycle.formsservice.client.FormsServiceClient
Maven-beroenden maven-dependencies-8
<dependency>
<groupId>com.adobe.livecycle</groupId>
<artifactId>adobe-forms-client</artifactId>
<version>11.0.0</version>
</dependency>
Adobe LiveCycle Output Client bundle adobe-livecycle-output-client-bundle
Följande tjänst är tillgänglig:
- com.adobe.livecycle.output.client.OutputClient
Maven-beroenden maven-dependencies-9
<dependency>
<groupId>com.adobe.livecycle</groupId>
<artifactId>adobe-output-client</artifactId>
<version>11.0.0</version>
</dependency>
Adobe LiveCycle Reader Extensions Client bundle adobe-livecycle-reader-extensions-client-bundle
Följande tjänst är tillgänglig:
- com.adobe.livecycle.readerextensions.client.ReaderExtensionsServiceClient
Maven-beroenden maven-dependencies-10
<dependency>
<groupId>com.adobe.livecycle</groupId>
<artifactId>adobe-reader-extensions-client</artifactId>
<version>11.0.0</version>
</dependency>
Klientpaket för Adobe LiveCycle Rights Manager adobe-livecycle-rights-manager-client-bundle
Följande tjänster är tillgängliga:
- 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
Maven-beroenden maven-dependencies-11
<dependency>
<groupId>com.adobe.livecycle</groupId>
<artifactId>adobe-rightsmanagement-client</artifactId>
<version>11.0.0</version>
</dependency>
Klientpaket för Adobe LiveCycle Signatures adobe-livecycle-signatures-client-bundle
Följande tjänst är tillgänglig:
- com.adobe.livecycle.signatures.client.SignatureServiceClientInterface
Maven-beroenden maven-dependencies-12
<dependency>
<groupId>com.adobe.livecycle</groupId>
<artifactId>adobe-signatures-client</artifactId>
<version>11.0.0</version>
</dependency>
Klientpaket för Adobe LiveCycle Truststore adobe-livecycle-truststore-client-bundle
Följande tjänster är tillgängliga:
- com.adobe.truststore.dsc.TrustConfigurationService
- com.adobe.truststore.dsc.CRLService
- com.adobe.truststore.dsc.CredentialService
- com.adobe.truststore.dsc.CertificateService
Maven-beroenden maven-dependencies-13
<dependency>
<groupId>com.adobe.livecycle</groupId>
<artifactId>adobe-truststore-client</artifactId>
<version>11.0.0</version>
</dependency>
Klientpaket för Adobe LiveCycle-databas adobe-livecycle-repository-client-bundle
Följande tjänster är tillgängliga:
- com.adobe.repository.bindings.ResourceRepository
- com.adobe.repository.bindings.ResourceSynchronizer
Maven-beroenden maven-dependencies-14
<dependency>
<groupId>com.adobe.livecycle</groupId>
<artifactId>adobe-repository-client</artifactId>
<version>11.0.0</version>
</dependency>