Expand my Community achievements bar.

Guidelines for the Responsible Use of Generative AI in the Experience Cloud Community.

Service Name in the AEM forms Watched folder

Avatar

Level 3

Hi,

 

How do you get the service names in the  Service Name* drop down. We have a java code developed by third party and I am trying to do this set up in my local. Please Advice. Thanks

 

schallag_0-1651089050102.png

 

5 Replies

Avatar

Community Advisor

Hi @schallag,

Service Name shows com.adobe.aemfd.watchfolder.service.api.ContentProcessor implementation that are available on your instance. If this filed is empty, that means there are no available custom implementation or for some reason OSGi components that implements above interface are disabled.

I would suggest following activities:

  1. Go to OSGI console /system/console/services.
  2. Look for com.adobe.aemfd.watchfolder.service.api.ContentProcessor
    1. Verify each service, to recognize component name.
    2. Once you have component name, you can open /system/console/components
    3. Look for the component base on the name, and check status of the component - it needs to be Active to be visible under Service Name drop-down.

If you would like to implement your own ContentProcessor please follow below steps:

  1. Make sure you have included - below example use the latest available version. However there are many available versions on Maven central repository. So in case of any issue you can always pickup different one.
    <dependency>
       <groupId>com.adobe.aemfd</groupId>
       <artifactId>aemfd-client-sdk</artifactId>
       <version>6.0.640</version>
       <scope>provided</scope>
    </dependency>
    Adding above dependency is necessary because it provides com.adobe.aemfd.watchfolder.service.api.ContentProcessor interface.
  2. Create new java class that will implement ContentProcessor interface, below is very simple/basic example of skeleton of this class.
    package com.mysite.core;
    import com.adobe.aemfd.watchfolder.service.api.ContentProcessor;
    import com.adobe.aemfd.watchfolder.service.api.ProcessorContext;
    import org.osgi.service.component.annotations.Component;
    
    @Component(
        name = "Sample Content Processor Implementation",
        immediate = true,
        service = {ContentProcessor.class},
        property = {"mykey=myvalue"}
    )
    public class SampleContentProcessor implements ContentProcessor {
    
        @Override
        public void processInputs(ProcessorContext processorContext) throws Exception {
            // place for code that will do some processing
        }
    }
    You can also have a look into example described in Adobe documentation. The main difference between my example and the one from documentation is that I am using osgi annotation. But it will work the same.
  3. Once you have created your own implementation of ContentProcessor you should deploy it to your AEM instance - if everything went well you will see your pid under Service Name drop-down.
  4. In case of issue, please follow steps from the first section of this post - where I've described how you can verify if ContentProcessor OSGi component is Active.

Avatar

Level 3

Hi,

Thank You for the reply!!

I have imported the OSGI bundles, Two of them are not starting and throws below error:

 

com.adobe.fd.output.api,version=[5.11,6) -- Cannot be resolved

 

Please Advice.

Avatar

Community Advisor

Make sure you have AEM Forms Add-on installed correctly. Above package is exported by following bundle Adobe XFA Forms Bedrock Connector (com.adobe.livecycle.adobe-lc-forms-bedrock-connector).

Please check that you have above bundle in Active state. If not try to start it manually or reinstall AEM Forms Add-on package.

Avatar

Level 3

I went to tools, packages and added the AEM forms add on package. Is that right? 

Avatar

Level 3

I tried by making com.adobe.livecycle.adobe-lc-forms-bedrock-connector active, reinstalled AEM forms add on package. I still get the error.