Invoke Replication Agent Using http request

Avatar

Avatar

sudhag73425455

Avatar

sudhag73425455

sudhag73425455

23-10-2018

Hi,

I have custom replication agent with transport handler to invoke some REST API.

From AEM when I Activate/Deactivate any page - things work well.

Issue:

I want to invoke the replication agent/transport handler on author instance from a HTTP request from postman. is that possible?

My goal is to perform a performance run with that HTTP request.

Different trails made:

http://localhost:4502/etc/replication/agents.author/solragent.test.html  -> this would only work on GET and only path is /content

http://localhost:4502/bin/replication.json -> 403 Forbidden

We are using AEM 6.3

Is this possible?

Any pointers would greatly help.

Replies

Highlighted

Avatar

Avatar

Shashi_Mulugu

MVP

Avatar

Shashi_Mulugu

MVP

Shashi_Mulugu
MVP

24-10-2018

Disable all other replication agents, enable only your custom agent and either use the curl command or Post man with below options.

curl -u admin:admin -X POST -F path="/content/path/to/page" -F cmd="activate" http://localhost:4502/bin/replicate.json

Highlighted

Avatar

Avatar

sudhag73425455

Avatar

sudhag73425455

sudhag73425455

24-10-2018

Hi,

That is still giving Authentication failure issue. Though admin/admin is the correct credentials to be used.postmanIssue.jpg

Highlighted

Avatar

Avatar

Nirmal_Jose

MVP

Avatar

Nirmal_Jose

MVP

Nirmal_Jose
MVP

24-10-2018

Have you setup basic authentication itself in the authentication tab. After setting that one, it worked for me

Screenshot 2018-10-25 at 08.52.26.png

Highlighted

Avatar

Avatar

sudhag73425455

Avatar

sudhag73425455

sudhag73425455

25-10-2018

yes I did set it up.

I had to make 2 changes oin osgi

1. disable csrf for post request

2. Apache Sling Referrer Filter

Once I did these 2 then it started working. Did you make these changes?

How to make a simple HTTP POST request to AEM with a HTTP Rest Client, Postman - Sourced Code

Highlighted

Avatar

Avatar

sudhag73425455

Avatar

sudhag73425455

sudhag73425455

25-10-2018

But the other most important problem. Even though I am getting 200, the replication agent- Transport handler is not getting invoked.

What am I missing?

I have the replication agent upo and working

Bundle for Transport handler is there.

Path and cmd params are passed.

I am getting 200

Is there any other URI I need to hit?

Highlighted

Avatar

Avatar

Nirmal_Jose

MVP

Avatar

Nirmal_Jose

MVP

Nirmal_Jose
MVP

25-10-2018

I was able to do without doing both the changes, I am using vanilla 6.4

Highlighted

Avatar

Avatar

Nirmal_Jose

MVP

Avatar

Nirmal_Jose

MVP

Nirmal_Jose
MVP

25-10-2018

Strange, I am getting a proper replication request on the default agent in author for each request in postman

http://localhost:4502/etc/replication/agents.author/publish.log.html#end

Are you trying to invoke a custom replication agent ?