diff --git a/codelabs/sap-aem-int-day-4/codelab.json b/codelabs/sap-aem-int-day-4/codelab.json index a8dacea7..df2cc00c 100644 --- a/codelabs/sap-aem-int-day-4/codelab.json +++ b/codelabs/sap-aem-int-day-4/codelab.json @@ -3,7 +3,7 @@ "format": "html", "prefix": "https://storage.googleapis.com", "mainga": "UA-49880327-14", - "updated": "2023-12-07T07:18:10Z", + "updated": "2024-02-29T10:50:17Z", "id": "sap-aem-int-day-4", "duration": 90, "title": "Event Enable SAP Using SAP Advanced Event Mesh - Day 4", diff --git a/codelabs/sap-aem-int-day-4/img/1683da4931f15340.jpg b/codelabs/sap-aem-int-day-4/img/1683da4931f15340.jpg new file mode 100644 index 00000000..35af7ab0 Binary files /dev/null and b/codelabs/sap-aem-int-day-4/img/1683da4931f15340.jpg differ diff --git a/codelabs/sap-aem-int-day-4/img/2fbc6e9372c60a22.jpg b/codelabs/sap-aem-int-day-4/img/2fbc6e9372c60a22.jpg new file mode 100644 index 00000000..96bb62af Binary files /dev/null and b/codelabs/sap-aem-int-day-4/img/2fbc6e9372c60a22.jpg differ diff --git a/codelabs/sap-aem-int-day-4/img/32f0f14b96731b0d.jpg b/codelabs/sap-aem-int-day-4/img/32f0f14b96731b0d.jpg new file mode 100644 index 00000000..e3dac548 Binary files /dev/null and b/codelabs/sap-aem-int-day-4/img/32f0f14b96731b0d.jpg differ diff --git a/codelabs/sap-aem-int-day-4/img/37a67a55df288c3d.jpg b/codelabs/sap-aem-int-day-4/img/37a67a55df288c3d.jpg new file mode 100644 index 00000000..cd2d60e2 Binary files /dev/null and b/codelabs/sap-aem-int-day-4/img/37a67a55df288c3d.jpg differ diff --git a/codelabs/sap-aem-int-day-4/img/4042a8441476fe80.jpg b/codelabs/sap-aem-int-day-4/img/4042a8441476fe80.jpg new file mode 100644 index 00000000..20c0c452 Binary files /dev/null and b/codelabs/sap-aem-int-day-4/img/4042a8441476fe80.jpg differ diff --git a/codelabs/sap-aem-int-day-4/img/6a15fa764b0967c6.jpg b/codelabs/sap-aem-int-day-4/img/6a15fa764b0967c6.jpg new file mode 100644 index 00000000..32acbd07 Binary files /dev/null and b/codelabs/sap-aem-int-day-4/img/6a15fa764b0967c6.jpg differ diff --git a/codelabs/sap-aem-int-day-4/img/7b285a6371254298.jpg b/codelabs/sap-aem-int-day-4/img/7b285a6371254298.jpg new file mode 100644 index 00000000..fd101590 Binary files /dev/null and b/codelabs/sap-aem-int-day-4/img/7b285a6371254298.jpg differ diff --git a/codelabs/sap-aem-int-day-4/img/8b3a00d4e8263aeb.jpg b/codelabs/sap-aem-int-day-4/img/8b3a00d4e8263aeb.jpg new file mode 100644 index 00000000..b2f76f7b Binary files /dev/null and b/codelabs/sap-aem-int-day-4/img/8b3a00d4e8263aeb.jpg differ diff --git a/codelabs/sap-aem-int-day-4/img/adae097f9739b1ed.jpg b/codelabs/sap-aem-int-day-4/img/adae097f9739b1ed.jpg new file mode 100644 index 00000000..5b5054fc Binary files /dev/null and b/codelabs/sap-aem-int-day-4/img/adae097f9739b1ed.jpg differ diff --git a/codelabs/sap-aem-int-day-4/img/b6fbc5fc339741ad.jpg b/codelabs/sap-aem-int-day-4/img/b6fbc5fc339741ad.jpg new file mode 100644 index 00000000..9c73fa43 Binary files /dev/null and b/codelabs/sap-aem-int-day-4/img/b6fbc5fc339741ad.jpg differ diff --git a/codelabs/sap-aem-int-day-4/img/dcba874415ccc73d.jpg b/codelabs/sap-aem-int-day-4/img/dcba874415ccc73d.jpg new file mode 100644 index 00000000..e03a0feb Binary files /dev/null and b/codelabs/sap-aem-int-day-4/img/dcba874415ccc73d.jpg differ diff --git a/codelabs/sap-aem-int-day-4/img/fabb007c37d3c0a5.jpg b/codelabs/sap-aem-int-day-4/img/fabb007c37d3c0a5.jpg new file mode 100644 index 00000000..b95cd5ec Binary files /dev/null and b/codelabs/sap-aem-int-day-4/img/fabb007c37d3c0a5.jpg differ diff --git a/codelabs/sap-aem-int-day-4/index.html b/codelabs/sap-aem-int-day-4/index.html index 25bdfae4..9cacfd22 100644 --- a/codelabs/sap-aem-int-day-4/index.html +++ b/codelabs/sap-aem-int-day-4/index.html @@ -68,23 +68,51 @@ - -

Navigate to the main console and go to the cluster manager. From there, select the broker where you will be configuring your Rest Delivery Point.

-

BPA Image 3

-

From this screen, you will select the manage option at the top.

-

BPA Image 4

-

You will then select "Queues" towards the middle of the screen. Selecting the Queue option will now re-direct you to a different screen and will open the Broker Manager for the selected broker.

-

BPA Image 5

-

On this screen, we will start by creating a Queue and Subscription that will be used to capture the items from the DMQ that users would like to start review processes for. Click on the "+Queue" option.

-

BPA Image 6

-

Create a new Queue with the name "SOREJECTED".

-

BPA Image 22

-

Now we will create a subscription that will capture all the messages that are being pushed out from the Integration Card. Messages are published from the Integration Card and then removed from the Queue. Add a Subscription by Clicking the "+Subscription" button and then add the subscription "sap.com/salesorder/rejected/V1". Once messages are received into this Queue, they will be picked up by the Integration Flow that will augment the schema of the message. This iFlow will publish a message that will be used to activate the Business Process Automation process.

-

BPA Image 24

-

Repeat the process to add another Queue called "SO_WF". Add a subscription for "sap.com/bpasalesorder/rejected/V1". The iFlow that enriches the SalesOrder publishes the new message using that topic.

-

BPA Image 23

-

Next step to create the Rest Delivery Point and associated components. Navigate to the clients tab as shown on the left and then click the + Rest Delivery Point Button.. The name of the RDP is "RDP1".

-

BPA Image 10 You will now create a Rest Consumer that will be the target for your Events.

+ + +

You will now create the queues for this scenario via the CI/CD tool that can be found at this link:

+

Link to CI/CD tool

+

BPACLI1

+

Below you will find the JSON structure to paste into the window. The only other thing you will need is the SEMP (Solace Element Management Protocol) Connection details. Details to find the SEMP API will be provided after the JSON Structure.

+
{
+    "Queues": [
+        {
+            "name": "SO_WF",
+            "owner": "#rdp/RDP1",
+			"access-type": "non-exclusive",
+            "redelivery": true,
+            "try-forever": false,
+            "max-redelivery-count": 3,
+			"non-owner-permission" : "consume",
+            "subscriptions": [
+                "sap.com/bpasalesorder/rejected/V1"
+
+            ]
+        },
+        {
+            "name": "SORJECTED",
+			"access-type": "exclusive",
+            "owner": "",
+            "redelivery": true,
+			"non-owner-permission" : "consume",
+            "subscriptions": [
+                "sap.com/salesorder/rejected/V1"
+            ]
+        }
+    ]
+}
+
+

From the manage tab within the web console, towards the bottom, you will see "Other Management Tools", expand the "SEMP - REST API" section. From there, you can find the 4 pieces of information you need to execute the tool above. SEMPDETAILS Copy/paste those details into the tool above along with the JSON structure and press the "Create Configuration" Button and voila, you should have your 2 queues and subscriptions created. **** When copying the details over, make sure not to copy over extra spaces like I did on my first 3 attempts :-) ****

+

**** Of course, it would be a great idea to check the queues on the console and verify that you have 2 new queues SOREJECTED and SO_WF :-) ****

+ + +
+ + +

Next step to create the Rest Delivery Point and associated components. Navigate to the clients tab as shown on the left and then click the + Rest Delivery Point Button.. The name of the RDP is "RDP1".

+

BPA Image 10

+

You will now create a Rest Consumer that will be the target for your Events.

BPA Image 11

Enter "SO_WF_REST_CONSUMER" and press "Create".

BPA Image 12

@@ -105,8 +133,8 @@
-

The business process that we will deploy is activated by an API Trigger which can be seen in the diagram and the last step of the process is the publishing of an event. This process uses a Rest Call to the broker that is encapsulated in the SAP BPA "Action" highlighted in Red Below.

-

SAP BPA Image 1

+

The business process that we will deploy is activated by an API Trigger which can be seen in the diagram and the last step of the process is the publishing of an event. This process uses a Rest Call to the broker that is encapsulated in the SAP BPA "Action" which can be seen in the screenshot immediately following the "Approve" action.

+

SAP BPA Image 1

The "Action" component needs to be associated with a destination. In order to create the destination, you will need "REST" connectivity information from your broker. Navigate to your AEM Cloud Console, you will select the Cluster Manager and then you will select your broker. From there, you will select the "Connect" option at the top. On this screen, make sure that the "View By" is set to Protocol as the first step. From there, expand the REST protocol and everything you need to create the destination will be visible.

SAP BPA Image 2

Navigate to the BTP Cloud Cockpit

@@ -131,15 +159,25 @@

Navigate to the BTP Cloud Cockpit

  • 1 Dependency for the Action Group that represents the action group
  • a project of type "Process Automation"
  • -

    We will import the SAPAEMSO.mtar file. Select the import option which is highlighted by the red square. When prompted, select the SAPAEMSO.mtar file for import. Once it's successfully imported, you will see 1 project listed as per the screenshot below

    +

    We will import the SAPAEMSO_3.1.0.mtar file. Select the import option which is highlighted by the red square. When prompted, select the SAPAEMSO_3.1.0.mtar file for import. Once it's successfully imported, you will see 1 project listed as per the screenshot below *** You can download the file here https://github.com/SolaceLabs/aem-sap-integration/blob/main/deployable/SAPAEMSO_3.1.0.mtar ***

    SPA BPA Image 11

    -

    In order to deploy the BPA project, you need to associate the project with the Destination that you have already created in BTP. The deployment process will ask you to select a Destination so you need to register the destination with the BPA tooling. Expand the menu options on the top left. SPA BPA LOBBY Click on the Control Tower and Select Destinations SPA BPA ControlTower When you click "New Destination", you should see the Destination you created in BTP called "AEMBROKERREST", if you don't, you have not specified the properties correctly and you will need to investigate. Select the Destination and you should see it populate in the UI. Now, we can deploy the project. SPA BPA Destination

    +

    In order to deploy the BPA project, you need to associate the project with the Destination that you have already created in BTP. The deployment process will ask you to select a Destination so you need to register the destination with the BPA tooling. Expand the menu options on the top left.

    +

    SPA BPA LOBBY

    +

    Click on the Control Tower and Select Destinations

    +

    SPA BPA ControlTower

    +

    When you click "New Destination", you should see the Destination you created in BTP called "AEMBROKERREST", if you don't, you have not specified the properties correctly and you will need to investigate. Select the Destination and you should see it populate in the UI. Now, we can deploy the project.

    +

    SPA BPA Destination

    Head back to the Lobby and Click on the SAPAEMSO project. SPA BPA LOBBY

    Prior to releasing the project, we have to make a small change to the project. Lets start by clicking on the "Sales Order Review" Process.

    SPA BPA Image 14

    -

    In the business process, we must indicate which users will have the notification delivered to their inbox. Click on the Approval Form for Sales Order. You will see properties appear on the right side of the screen. Specify the userid of users who should have the notification sent to their inbox. In this case, I have specified 2 IDs separated by a comma. Once you have made the change, we now need to release and deploy the project. Click the "Release" option in the upper right. SPA BPA Image 25

    +

    In the business process, we must indicate which users will have the notification delivered to their inbox. Click on the Approval Form for Sales Order. You will see properties appear on the right side of the screen. Specify the userid of users who should have the notification sent to their inbox. In this case, I have specified 2 IDs separated by a comma. Once you have made the change, we now need to release and deploy the project. Click the "Release" option in the upper right. SPA BPA Image 25

    You can select the appropriate version with either of the radio boxes and then press the release button. SPA BPA Image 15

    -

    Once the project is released, you should see the Deploy Button. Press it to trigger a serious of project checks. SPA BPA Image 16 Press Next SPA BPA Image 17 Here you must select your destination for the action. If your destination is not in the dropdown, something has not been configured properly in the Settings of the project. SPA BPA Image 18 This is the last step to deploy your business process, click Deploy. SPA BPA Image 19 You should now see "Deployed" and "Active" on the top left of the screen and your process should now be running. SPA BPA Image 20

    +

    Once the project is released, you should see the Deploy Button. Press it to reveal a new feature that will ask you to select an environment. Select the "Public" environment and press "Upgrade". Note, in my case, I have several versions already deployed, so if it's the first deployment, it might not say "upgrade" as in the screenshot.SPA BPA Image 15 You will likely getting a warning message that indicates this deployment could have an affect on already deployed triggers..." press deploy.

    +

    SPA BPA Image 15

    +

    Here you must select your destination for the action. If your destination is not in the dropdown, something has not been configured properly in the Settings of the project.

    +

    SPA BPA Image 17

    +

    This is the last step to deploy your business process, click Deploy. SPA BPA Image 19

    +

    You should now see "Deployed" and "Active" on the top left of the screen and your process should now be running. SPA BPA Image 20

    The process should now be running. Now we need to add an iFlow to transform messages so that they can be used to Trigger the process.

    @@ -148,27 +186,27 @@

    Navigate to the BTP Cloud Cockpit

    In the Business Process Automation scenario, we will activate an instance each time a record from the Dead Message Queue is submitted for review. The Sales Order Event from the Queue will need to be augmented with some additional metadata that is required for the BPA API. In order to augment the message with the additional elements, we will use 2 Cloud Integration Artifacts to do this:

      -
    • SalesOrderToBPASalesOrderMM – This message mapping artifact will map the incoming Sales Order Event to the Structure required for the BPA API
    • -
    • SalesOrderToBPAiFlow – This iFlow will connect to the Advanced Event Mesh and pull in all orders that have been submitted for processing from the UI5 application. Technically, the iFlow connects to a Queue that you will create on the broker. Once the Sales Order event is received, it will be routed through the mapping and then published onto a new topic with the augmented schema.
    • +
    • SOTOBPASOV2 – This message mapping artifact will map the incoming Sales Order Event to the Structure required for the BPA API
    • +
    • https://github.com/SolaceLabs/aem-sap-integration/blob/main/deployable/SOTOBPASOV2.zip
    • +
    • SalesOrderToBPAiFlow – This iFlow will connect to the Advanced Event Mesh and pull in all orders that have been submitted for processing from the UI5 application. Technically, the iFlow connects to a Queue that you will create on the broker. Once the Sales Order event is received, it will be routed through the mapping and then published onto a new topic with the augmented schema. https://github.com/SolaceLabs/aem-sap-integration/blob/main/deployable/SalesOrderToBPAiFlow.zip
    -

    Two artifacts will be provided to you for import, so the first step is to navigate to the package where you will create your content and place your package into "Edit" mode.

    IS Image 1

    Once you have the package in edit mode, select the DropDown under "Add" and select "Message Mapping".

    IS Image 2

    -

    At the top of this form, you will select "Upload" and then you will select the zip file with the "MM" at the end for Message Mapping. ***Ignore the Red X...I had already deployed the mapping in my environment and hence the message 😊 ***

    -

    IS Image 3 Once the artifact is uploaded, you will open it up and edit one of the properties. You will see one of the attributes in the target mapping is "DefinitionID". This is the unique ID of the Business Process Automation process that we will be activating. This ID will be taken from the BPA environment. Within the BPA environment, navigate to the Monitor section, find your business process and you will find the ID that needs to be entered. (** Go see the next screenshot to see specific details on how to find ID**) Once you have modified the ID, be sure to hit Save at the top and then you can hit "Deploy" from there or back from the main screen as shown below. IS Image 8 Navigate Back to the SAP Business Process Automation Environment temporarily From the Business Process environment, navigate to the "Monitor" section across the top of the screen. From there, on the left side Under the "Manage" option, select "Processes and Workflow". Select the "Sales Order Review" Process and towards the top, highlighted in Red, you will take the ID and you will use it in the iFlow to uniquely identify the Workflow to be started. Essentially, the API from SAP is very generic. You call the API with the ID of the workflow to be started with the payload and voila, you can start the process. IS Image 27

    -

    The 2nd way to deploy an artifact is from the main screen as shown below.

    -

    IS Image 4

    +

    At the top of this form, you will select "Upload" and then you will select the zip file with the name "SOTOBAPSOV2" for Message Mapping.

    +

    IS Image 3 Once the artifact is uploaded, you will open it up and edit one of the properties. You will see one of the attributes in the target mapping is "DefinitionID". This is the unique ID of the Business Process Automation process that we will be activating. This ID will be taken from the BPA environment. Within the BPA environment, navigate to the Monitor section, find your business process and you will find the ID that needs to be entered. (** Go see the next screenshot to see specific details on how to find ID**) Once you have modified the ID, be sure to hit Save at the top and then you can hit "Deploy" from there or back from the main screen as shown below. IS Image 8 Navigate Back to the SAP Business Process Automation Environment temporarily. From the Business Process environment, navigate to the "Monitoring" section. To find this, simply click on the SAP Icon at the top to reveal the main menu. From there, on the left side, Click "Monitoring" and then "Processes and Workflows". IS Image 27 You should now see the "Sales Order Review" process listed and right below it you should see the ID. This is the ID you want to copy and paste into the iFlow mapping section. You will take the ID and you will use it in the iFlow to uniquely identify the Workflow to be started. Essentially, the API from SAP is very generic. You call the API with the ID of the workflow to be started with the payload and voila, you can start the process. *** If for some reason, the Sales Order Review process is not visible, select "Navigation" at the top to select Sales Order Review. IS Image 27

    Now we will import the iFlow using the same approach we just followed for the Message Mapping.

    -

    IS Image 5 Select the "Upload" checkbox and use the 2nd zip file that contains the iFlow (***Not the one with the MM Extension ***).

    +

    IS Image 5 Select the "Upload" checkbox and use the 2nd zip file called "SalesOrderToBPAiFlow.zip.

    IS Image 6

    Once after the iFlow is successfully imported, we need to configure the appropriate connection information to connect to the AEM Service. You should know where to find this information now :-)

    IS Image 12

    On this screen, we will configure the iFlow to be watching the Queue "SOREJECTED"....short for Sales Orders Rejected. IS Image 13

    Now we need to configure the publishing component of the iFlow. It will be the same connection information as the consumer above.

    Please note the creation of the Secure Parameter is further down

    -

    IS Image 14 Now we configure the iFlow. We will publish to a topic called "sap.com/bpasalesorder/rejected/V1". The thought here is that we still have a Sales Order but it's been formated for the Business Process Automation API. Earlier in the exercise you setup a Queue listening for this event so it's really important that these 2 topics match so that all BPA rejected sales orders get attracted into the right Queue. You could add another level to the Topic to reflect the use case or embed something in the name like I have done. Save and Deploy the iFlow. IS Image 15

    -

    Now that both artifacts have been deployed, you need to create the secure parameter. Under "Monitor" Select Integrations.

    +

    IS Image 14 Now we configure the iFlow. We will publish to a topic called "sap.com/bpasalesorder/rejected/V1". The thought here is that we still have a Sales Order but it's been formated for the Business Process Automation API. Earlier in the exercise you setup a Queue listening for this event so it's really important that these 2 topics match so that all BPA rejected sales orders get attracted into the right Queue. You could add another level to the Topic to reflect the use case or embed something in the name like I have done.

    +

    IS Image 15

    +

    Now that both the message mapping and the iFlow have been imported and configured, you need to deploy them both. You have a few ways to deploy an artifact. As you are editing within the editor and have saved your changes, you can deploy from within the editor. The 2nd option is from the list of artifacts within the folder. IS Image 17

    +

    Once both of the artifacts have been deployed, your last step is to create the secure parameter. Under "Monitor" Select Integrations.

    IS Image 17

    From here, you will create a Secure Paramater and you will use the name "CABrokerUserPass" or you can use another name, just be sure to use the same one in the iFlow You will enter the corresponding password for the solace-cloud-client Username.

    IS Image 7

    @@ -186,51 +224,60 @@

    Please note the creation of the Secure Parameter is further down

    My first suggestion would be to use the "Try Me" tab on the broker with the configured Rest Delivery Point and let's do some simple tests.

    SPA BPA Image 23 On this screen, we can test several things. For starters, we can confirm that the iFlow that we deployed is working and successfully transforming our message. On the publisher side, connect to the broker and use "sap.com/salesorder/rejected/V1" as the topic and for the message use the following structure. This will simulate an event being submitted for Review from the Integration Card.

    {
    -  "orderHeader": [
    -    {
    -      "salesOrderNumber": "SO1002",
    -      "creator": "Jane Smith",
    -      "date": 1691193600000,
    -      "salesType": "In-store",
    -      "ordertype": "Express",
    -      "salesOrg": "SA02",
    -      "distributionChannel": "DC02",
    -      "division": "DV02",
    -      "customer": [
    -        {
    -          "customerId": "CUST002",
    -          "customerName": "XYZ Ltd",
    -          "zipCode": "54321",
    -          "street": "First Avenue",
    -          "phone": "555-987-6543",
    -          "country": "USA",
    -          "city": "Los Angeles"
    -        }
    -      ],
    -      "orderItem": [
    -        {
    -          "item": "ITEM002",
    -          "material": "MAT002",
    -          "materialType": "Service",
    -          "itemType": "Premium",
    -          "orderSchedule": [
    -            {
    -              "scheduleNumber": "SCH002",
    -              "quantity": 50,
    -              "uom": "Hrs"
    -            }
    -          ]
    -        }
    -      ]
    -    }
    -  ]
    +	"orderHeader": [
    +		{
    +			"salesOrderNumber": "SO1001",
    +			"creator": "John Doe",
    +			"date": "2023-08-04",
    +			"salesType": "Online",
    +			"ordertype": "Standard",
    +			"salesOrg": "SA01",
    +			"distributionChannel": "DC01",
    +			"division": "DV01",
    +			"netvalue": 375,
    +			"currency": "USD",
    +			"customer": [
    +				{
    +					"customerId": "CUST001",
    +					"customerName": "ABC Corp",
    +					"zipCode": "12345",
    +					"street": "Main Street",
    +					"phone": "555-123-4567",
    +					"country": "USA",
    +					"city": "New York",
    +					"emailAddress": [
    +						{
    +							"email": "john.doe@abccorp.com"
    +						}
    +					]
    +				}
    +			],
    +			"orderItem": [
    +				{
    +					"item": "ITEM001",
    +					"material": "MAT001",
    +					"materialType": "Product",
    +					"itemType": "Standard",
    +					"itemDescription": "Rocky Ridge Mountain bike",
    +					"orderSchedule": [
    +						{
    +							"scheduleNumber": "SCH001",
    +							"quantity": 100,
    +							"uom": "EA"
    +						}
    +					]
    +				}
    +			]
    +		}
    +	]
     }
     

    On the subscriber side, connect to the broker and use ">" as your topic. This will show everything. When you publish your message, you should immediately see a message appear in the subscriber window and you should be looking for a couple of things:

      +
    • The message that you published above
    • A new message with a different Topic - sap.com/bpasalesorder/rejected/V1
    • -
    • The body of the message should essentially be the same BUT it has a new wrapper called "context" and a new attribute called "definitionId". If you don't see both of these things, something is wrong with the iFlow.
    • -
    • After you publish the method, you should see a new item in your inbox. If the message appears to have the right structure in the subscriber window (aka your iFlow is working) then the next place to look is the configuration of the Rest Delivery Point. The RDP will be listening for these rejected messages and then calling the API to start the BPA process. If it's not, potentially check the queue to see if messages are accumulating in SO_WF.

      IF YOU SEE MESSAGES IN THE INBOX....WOOHOO

      +
    • The body of the message should essentially be the same BUT it has a new wrapper called "context" and a new attribute called "definitionId". If you don't see both of these things, something is wrong with the iFlow. It's important that the "definitionID" is populated with the definition ID that represents your process or it won't work.
    • +
    • After you publish the event, you should see a new item in your inbox. If the message appears to have the right structure in the subscriber window, then your iFlow is working as designed. If the iFlow is working then the next place to look is the configuration of the Rest Delivery Point. The RDP will be listening for these rejected messages and then calling the API to start the BPA process. Below we have a section that outlines how to see the logs associated with the rest delivery point. Last but not least, check to see if messages are accumulating in SO_WF.

      IF YOU SEE MESSAGES IN THE INBOX....WOOHOO

    @@ -238,7 +285,8 @@

    Please note the creation of the Secure Parameter is further down -

    This is an optional step in case you encounter any issue with AEM RDP Connection.

    +

    Below steps will allow you to connect to AEM CLI console and look at the logs.

    Enable the Access to Port 22

    Before accessing the CLI, we need to make sure that access to port 22 (default ssh port) is open.

    @@ -260,10 +308,31 @@

    Accessing AEM Service Commandline Utility

    This command will give you HTTP error (if any)that you might have received from BPA web endpoint.

    +
    + + + +

    If you want extra practice creating queues via the web console, you can follow these instructions and then return to section 4 to finish your configuration Navigate to the main console and go to the cluster manager. From there, select the broker where you will be configuring your Rest Delivery Point.

    +

    BPA Image 3

    +

    From this screen, you will select the manage option at the top.

    +

    BPA Image 4

    +

    You will then select "Queues" towards the middle of the screen. Selecting the Queue option will now re-direct you to a different screen and will open the Broker Manager for the selected broker.

    +

    BPA Image 5

    +

    On this screen, we will start by creating a Queue and Subscription that will be used to capture the items from the DMQ that users would like to start review processes for. Click on the "+Queue" option.

    +

    BPA Image 6

    +

    Create a new Queue with the name "SOREJECTED".

    +

    BPA Image 22

    +

    Now we will create a subscription that will capture all the messages that are being pushed out from the Integration Card. Messages are published from the Integration Card and then removed from the Queue. Add a Subscription by Clicking the "+Subscription" button and then add the subscription "sap.com/salesorder/rejected/V1". Once messages are received into this Queue, they will be picked up by the Integration Flow that will augment the schema of the message. This iFlow will publish a message that will be used to activate the Business Process Automation process.

    +

    BPA Image 24

    +

    Repeat the process to add another Queue called "SO_WF". Add a subscription for "sap.com/bpasalesorder/rejected/V1". The iFlow that enriches the SalesOrder publishes the new message using that topic.

    +

    BPA Image 23

    + +
    -

    ✅ Understand concept of Dead Message Queues ✅ Understand how to use SAP BPA to process Dead Messages ✅ Understand how to use an iFlow with an Event for transformations ✅ Understand how to setup a Rest Delivery Point

    +

    ✅ Understand concept of Dead Message Queues
    ✅ Understand how to use SAP BPA to process Dead Messages
    ✅ Understand how to use an iFlow with an Event for transformations
    ✅ Understand how to setup a Rest Delivery Point

    Soly Image Caption

    Thanks for participating in this codelab! Let us know what you thought in the Solace Community Forum! If you found any issues along the way we'd appreciate it if you'd raise them by clicking the Report a mistake button at the bottom left of this codelab.