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:
/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
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
Views
Replies
Total Likes
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.
Views
Replies
Total Likes
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
Views
Replies
Total Likes
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.
Views
Replies
Total Likes
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
Views
Replies
Total Likes
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.
Views
Replies
Total Likes
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
Views
Replies
Total Likes
And this is the JSON response I received when I fetched from the Campaign server environment:
{
[
{
}
Views
Replies
Total Likes
Hi Mano,
Another possibility would be to check the following:
By reading your previous comments, please note that pushing content from AEM to Campaign uses different resources than pulling AEM content from Campaign. So it's not impossible that one way works while the other does not. You are in the latter case, which suggests a configuration issue in AEM, or an error in the external account in Campaign (which seems correct from what I can see in your screenshot).
Let me know,
Florent
Hi Florent,
I had already configured the replication agent with the publisher IP address as mentioned in the doc, and the replication works well.
I do not see the AEM access logs moving, when the "Synchronize" button is pressed in campaign delivery.
But when I hit the URL from the browser, I see the AEM access logs moving and below are the lines priented in logs.
AEM access.log when the URL is accessed from browser within the Campaign server environment:
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
AEM access.log:
127.0.0.1 - - 15/Nov/2017:09:40:50 +0800 "PUT /libs/sling/topology/connector.f8fffa6c-6583-41f7-b284-537fbb3016ba.json HTTP/1.1" 200 164 "-" "Apache-HttpClient/4.3.4 (java 1.5)"
10.70.213.92 - admin 15/Nov/2017:09:40:55 +0800 "GET /api/content/sites/campaigns.json?query=SELECT%20*%20FROM%20page%20WHERE%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 HTTP/1.1" 200 732 "http://10.70.213.92:4502/libs/granite/core/content/login.html?resource=%2Fapi%2Fcontent%2Fsites%2Fca..." "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36"
10.70.213.92 - admin 15/Nov/2017:09:40:55 +0800 "GET /favicon.ico HTTP/1.1" 500 75607 "http://10.70.213.92:4502/api/content/sites/campaigns.json?query=SELECT%20*%20FROM%20page%20WHERE%20%..." "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36"
I believe that the request not getting out of Campaign App Server and it is being blocked within campaign.
Is there a way to debug JS function "nms_delivery_aemListContent" in nms:amcIntegration.js, because I am interested in debugging the below lines, as I want to see the Authentication credentials used.
Line numbers 1651,1652, 1653
// Creating the request
var request = new HttpClientRequest(url);
// Adding authentication
aemAddBasicAuthentication(cmsAccount, request);
Looks like cloud front is unable to reach the release notes page.
Regards,
Mano
Views
Replies
Total Likes
Hi
I think the solution is to install AEM and Campaign on the same VM and TRY it.
I saw an internal thread also having similar issue. Let me try to reachout those folks to help you here. But meanwhile try above and create a support ticket.
~kautuk
Views
Replies
Total Likes
Hi kautuksahni,
I cannot have AEM and campaign within the same VM, as per my organisation's architecture. I had already raised the ticket with support team last week, but they do not have an answer.
Moreover my AEM server is in Linux and I had a lot of dependency issues with the rpm for build 8861, so we finally gave up and moved to windows server and we made progress with the setup.
The AEM campaign json URL as mentioned in my previous post is accessible from a browser within the campaign windows server. I am able to ping my AEM server IP address as well.
Views
Replies
Total Likes
Were you every able to solve this issue? I have the same issue in that when I try to synchronize the newsletter into Campaign then I get an error that says JST-310000 Error while compiling script 'nms:amcIntegration.js' line 1850: JSON.parse.
Views
Replies
Total Likes
I got his fix by installing AEM and Campaign on the same VM and TRY it.
If this doesn't work please create Support ticket and do share the solution with the community.
-Kautuk
Views
Replies
Total Likes
I am using AEM 6.4 author and publish on local instance and Adobe campaign classic on a sandbox provisioned by Adobe.
While creating a delivery of type "Email delivery with AEM content", i am trying to synchronize email template from AEM to Campaign and getting following error:
An error occurred while loading the list.
SOP-330011 Error while executing the method 'aemListContent' of service 'nms:delivery'.
JST-310026 The URL
'http://127.0.0.1:4502/api/content/sites/campaigns.json?query=SELECT%20*%20FROM%20page%20WH ERE%20%5Bchild%5D.%5Bcq%3AacLinks%5D%20IS%20NULL%20ORDER%20BY%20%5Bcq%3AlastModified%5D%20 DESC&limit=100&filter.rt=mcm%2Fcampaign%2Fcomponents%2Fnewsletter%2Cmcm%2Fcampaign%2Fcompo nents%2Fcampaign_newsletterpage%2Cmcm%2Fneolane%2Fcomponents%2Fnewsletter&showAllPropertie s=true'
that the script is trying to access is not part of the authorized addresses in urlPermission (serverconf.xml)
Views
Replies
Total Likes
Views
Like
Replies
Views
Likes
Replies