Highlighted

[Campaign <-> AEM 6.2 Integration] Failed to fetch content from AEM during delivery creation.

manovinayaka757

05-11-2017

We are unable to fetch content from AEM from campaign. Please find the below case information. I raised a ticket with Neolane, but there is no response.

If someone who has encountered, please provide some information on how to resolve this.

Environment Information:

AEM version : 6.2

Adobe Campaign version : 6.1

Adobe campaign Hybrid Model

Adobe campaign Mid sourcing deployment model

Adobe campaign on premise marketing wfserver build number: 8861

Adobe campaign client console build number: 8861

CASE:

I created a campaign in AEM 6.2 and then tried to fetch the content created for the campaign in Campaign client console, but this ended in error:

I followd the steps mentioned in the following documentation.

Integrating with Adobe Campaign 6.1

During delivery creation, upon clicking the "Synchronise" button, I get the following error as shown in the screen shot.

Server LOG:

14:41:45 >>> INT-150012 The HTTP query returned a 'Service Unavailable' type error (503) (iRc=-53)

14:41:45 >>> JST-310000 Error while compiling script 'nms:amcIntegration.js' line 1665: JSON.parse.

SCREEN SHOT:

campaign_aem_connection_failure.JPG

Replies

Highlighted

kautuk_sahni

Community Manager

05-11-2017

/content/campaignsTry Following:

1. Check the AEM "campaign-remote" user permissions

2. Make sure the AEM connection-url configured in the External Accounts is reachable from the machine.

    A switch from localhost to an IP-address solved this issue.

     Source:- Troubleshooting your Adobe Campaign Integration

3. Check the existence of path /content/campaigns

4. Make sure No firewall blocking access between AEM and ACS.

~kautuk

Highlighted

manovinayaka757

07-11-2017

Please see my reply in bold

1. Check the AEM "campaign-remote" user permissions

- I have reset the password for campaign-remote, and this user has all permissions to the campaigns folder

But in campaign I am using "campaign-api" with the same password as "campaign-remote"

[Please refer to image]

2. Make sure the AEM connection-url configured in the External Accounts is reachable from the machine.

   A switch from localhost to an IP-address solved this issue.

     Source:- Troubleshooting your Adobe Campaign Integration

     - I am using http://<IP_ADDRESS>:4502

     [Please refer to image]

3. Check the existence of path /content/campaigns

- By deafult with a fresh AEM author, when I hit /content/campaigns return a HTTP 500

but other campaign URLs are accesible eg. /content/campaigns/geometrixx.html

From my understanding, the path does exists.

Please let me know how to test this out from Campaign, if campaign tries to access just "/content/campaigns" then this will for

sure end in error, but on the other hand "/mcmadmin#/content/campaigns" this path is accesssible

4. Make sure No firewall blocking access between AEM and ACS.

- There is no firewall blocking, as I can ping and receive response from AEM author and publisher from Campaign server

aem_external_account.JPG

Highlighted

manovinayaka757

07-11-2017

Hi KautukSahni,

Please let me know whether the below serverconf.xml  is correct to allow access to my AEM author server

<urlPermission action="" debugTrace="false">

<url dnsSuffix="10.70.213.92" urlRegEx="http://10.70.213.92:4502/.*"/>

</urlPermission>

I think there is some problem with this config.

Highlighted

manovinayaka757

12-11-2017

Hi kautuksahni​,

As per the below post, Is campaign-api mandatory? By default I only find campaign-remote user ?

Should I create campaign-api user with the same set of permissions as campaign-remote user ?

AEM email content synchronization issues

Regards,

Mano

Highlighted

kautuk_sahni

Community Manager

13-11-2017

FYI...

1. The campaign-remote user (default) needs to match the external account on Adobe Campaign. That is, the campaign-remote user's name and password must match the one you set in Experience Manager.

2. If you are creating some new user in AEM, then make sure to give same rights as campaign-remote user and set its password. Username and password should be same as the external account on adobe-campaign.

3. You can use campaign-remote user as well (no need to create any new one) but make sure that the password of this user is set in AEM (As by default, it is not set)

4. For testing use, you can use admin user and password.

Highlighted

manovinayaka757

13-11-2017

I have already tried and tested with admin and campaign-remote, nothing works. I am able to publish the content from AEM to Campaign via the "Publish to Campaign" workflow in AEM. But i am unable to pull (synchronize button) the content from AEM inside campaign.

And Adobe documentation talks about campaign-api which should be changed to campaign remote, or it is badly written just like any other adobe document.

Integrating with Adobe Campaign 6.1

campaign_012.JPG

Highlighted

kautuk_sahni

Community Manager

13-11-2017

Thanks for pointing out the issue with the documentation. I would inform documentation team about it.

For your issue, I would say, try from the beginning (use fresh AEM instance):

1. Install AEM Integration package in campaign [By default, no security zone is configured for this operator. To connect to Adobe Campaign via AEM, you must select one. In the serverConf.xml file, the allowUserPassword attribute of the selected security zone must be set to true to authorize AEM to connect Adobe Campaign via login/password.]

2. Configuring an AEM external account

     a. Use IP over localhost

     b. do not put / in end of the url

     c. Test with admin user or campaign-remote (set the password in AEM first) or use new user having rights same as campaign-remote.

     d. Make sure that the Enabled checkbox is selected

3. Verifying the AEMResourceTypeFilter option

4. In AEM set connection with campaign with Campaign cloud configuration.

     a. You need to configure two OSGI configuration settings to the reference the Publish server:

          AEM Campaign Integration - Configuration: Go the OSGi configuration view at http://localhost:4502/system/console/configMgr->           search for AEM Campaign Integration - Configuration -> Edit the Public URL field to reference your published server (not           localhost).

          //This step is also necessary to replicate certain authoring instance configurations into the publishing instance

          Day CQ Link externalizer: Go to http://localhost:4502/system/console/configMgr-> Search for Day CQ Link externalizer -> Edit the           Public URL field to reference your published server (not localhost).

          // The Externalizer is an OSGi service that lets you transform a resource path into an external and absolute URL. This service           provides a central place to configure those external URLs and build them.

          Note:-  For the Adobe Campaign integration, make sure you configure the publish server

                       Use IP

5. Turn off Antivirus for this test run

If problem still persist then in that case reachout to the support. And do share the solution here for the community.

Highlighted

manovinayaka757

14-11-2017

Hi kautuksahni​,

I have already tried and tested those steps numerous times.

I enabled debug log and got the below.

17:02:12 >>  JST-310030 URL 'http://10.70.213.92:4502/api/content/sites/campaigns.json?query=SELECT%20*%20FROM%20page%20

WHERE%20%5Bchild%5D.%5Bcq%3AacLinks%5D%20IS%20NULL%20ORDER%20BY%20%5Bcq%3AlastModified%5D%20DESC&limit=100&filter.rt=mcm

%2Fcampaign%2Fcomponents%2Fnewsletter&showAllProperties=true' tested with '10.70.213.92' domain and '.*' regexp: regexp

**OK**.

17:02:13 >>> INT-150012 The HTTP query returned a 'Service Unavailable' type error (503) (iRc=-53)

17:02:13 >>> JST-310000 Error while compiling script 'nms:amcIntegration.js' line 1665: JSON.parse.

But I am able to access this URL from campaign server environment and get back the JSON response.

http://10.70.213.92:4502/api/content/sites/campaigns.json?query=SELECT%20*%20FROM%20page%20

WHERE%20%5Bchild%5D.%5Bcq%3AacLinks%5D%20IS%20NULL%20ORDER%20BY%20%5Bcq%3AlastModified%5D%20DESC&limit=100&filter.rt=mcm

%2Fcampaign%2Fcomponents%2Fnewsletter&showAllProperties=true

Regards,

Mano

Highlighted

manovinayaka757

14-11-2017

And this is the JSON response I received when I fetched from the Campaign server environment:

{

  • links:

    [

    ],
  • class: [
    • "core/searchresults"
    ],
  • properties:

    {

    • cq:allowedTemplates: [
      • "/libs/cq/personalization/templates/.*",
      • "/libs/mcm/templates/brand",
      • "/apps/.*/templates/newsletter.*",
      • ".*/designimporter/templates/.*",
      • "/libs/commerce/templates/promotion",
      • "/libs/commerce/templates/voucher",
      • "/apps/.*/templates/.*newsletter.*",
      • "/libs/mcm/campaign/templates/ac-email.*"
      ],
    • dc:title: "Campaigns",
    • name: "campaigns",
    • srn:paging: {
      • total: 0,
      • offset: 0,
      • limit: 100
      }
    }

}