Expand my Community achievements bar.

SOLVED

Integration of WSO2 Api Manager with AEM 6.5

Avatar

Level 2

Hi Team,

 

Can we integrate WSO2 Api Manager with Adobe Experience Manager 6.5?

I have one requirement like, Whenever any rest api comes, firstly it will be deployed in wso2 api manager and then this layer will talk to AEM.

1 Accepted Solution

Avatar

Correct answer by
Community Advisor

@kirtikhatri1 

Hello, sure WSO2 API Manager can definitely be used with AEM. I'm assuming that AEM will be used as a headless solution.

wso2.png

Illustrated above is AEM being used as a headless solution; the client wishes to get information about a store in AEM:

  1. The client makes a GET-REQUEST to /api/store/ABEPOP.json
  2. WS02 API Manager will make a internal GET-REQUEST to the AEM publish environment: /content/my-site/api/store/ABEPOP.model.json, and returns JSON data.
  3. WS02 API Manager caches the JSON response and returns the response back to the client.
  4. The client then displays the store information to the user.

If you wish to learn how to create content API within AEM's content structure, utilising AEM's content services and WCM Core Components V2 will be your best bet. Check out this tutorial provided by Adobe themselves. https://docs.adobe.com/content/help/en/experience-manager-learn/getting-started-with-aem-headless/ov...

Let me know how it goes,

Brian.

View solution in original post

10 Replies

Avatar

Level 5

AEM uses sling which is REST based framework, So any content in AEM can be accessed using a URL (REST API).

 

Please do share more info on what would be purpose of the API which you are planning to configure in WSO2 API Manager and what info it would fetch from AEM instance.

Avatar

Level 2
So the ask is, api is deployed in wso2 api manager. Now, I have to use that api swagger in aem as REST by making the datasource. But When I upload it (swagger that I downloaded from wso2), AEM is not allowing it to upload. Because, WSO is using OAuth and hence the error is coming in backend of authentication. Is there any way, so that I can upload in AEM and see the schema? Thanks in Advance !  

Avatar

Correct answer by
Community Advisor

@kirtikhatri1 

Hello, sure WSO2 API Manager can definitely be used with AEM. I'm assuming that AEM will be used as a headless solution.

wso2.png

Illustrated above is AEM being used as a headless solution; the client wishes to get information about a store in AEM:

  1. The client makes a GET-REQUEST to /api/store/ABEPOP.json
  2. WS02 API Manager will make a internal GET-REQUEST to the AEM publish environment: /content/my-site/api/store/ABEPOP.model.json, and returns JSON data.
  3. WS02 API Manager caches the JSON response and returns the response back to the client.
  4. The client then displays the store information to the user.

If you wish to learn how to create content API within AEM's content structure, utilising AEM's content services and WCM Core Components V2 will be your best bet. Check out this tutorial provided by Adobe themselves. https://docs.adobe.com/content/help/en/experience-manager-learn/getting-started-with-aem-headless/ov...

Let me know how it goes,

Brian.

Avatar

Level 2
Hey Brian, Thanks for responding to this. I will check and let you know. Thanks Again !

Avatar

Level 2
Hey Brian, Just an update, We are using AEM forms. Let me tell u exactly What I have done. I deployed one API (pizzashack api) into wso2 api manager, And when we try out by adding the subsciption, so there is one option to download it as a swagger. so same downloaded swagger, I am using in AEM as cloud services -> datasource and then selecting REST from the dropdown and tried uploading the swagger file which I downloaded from wso2. I am not able t upload it.

Avatar

Level 2
Getting below error : java.lang.NullPointerException: null at com.adobe.aem.dermis.core.rest.service.SwaggerUtils.getAuthenticationDefinitions(SwaggerUtils.java:142) [aem-dermis-core:3.0.94]

Avatar

Community Advisor
Can you show me a diagram of how your application behaves please? use draw.io