[AX2012] [Workflow approval via email] Migrate from ACS to SAS – troubleshooting

This post has been republished via RSS; it originally appeared at: MSDN Blogs.

Latest whitepaper & mobile connector downloading address -
https://mbs.microsoft.com/customersource/northamerica/AX/news-events/news/MSDYN_MobileAppsAX

When you migrate from ACS to SAS, you only need complete below 4 tasks listed in Appendix F: Apply the 2018 update to migrate from ACS to SAS.

1 Follow the steps in Appendix A: Create a new Service Bus namespace to create a new SAS Service Bus.

2 Follow the steps in Appendix B: Configure shared access policies, so that you can provide the key as the Azure service identity password in the connector parameters.

3 Install the latest connector, and update the Azure service namespace, Azure service identity name, and identity password from the previous steps.

Note: The latest connector is not backwards compatible with ACS. Once the latest update is applied it will no longer work with ACS. The previous ACS solution is set to be deprecated on Nov 7, 2018.

4 In AX 2012, In the Settings for workflow form, update the Base URL to approve/reject workflow field with the details of the new Service Bus.

 

This blog only focuses on some difficulties you might experience in item #1 when you create SAS service bus with the Azure power shell. When you follow the sample power shell commands in the Appendix A, you might run into some errors and cannot proceed. This blog also shows you some screenshots after you complete the configuration and test the feature with email approval.

Errors I faced when handling with Azure power shell

Install Azure power shell

This indicates the windows PowerShell version is too low to meet the minimum requirement for Azure PowerShell. You need to update it to at least 5.1 and then can proceed with Azure PowerShell installation

Login-AzureRMAccount

From below overview of Azure power shell, we know there are 2 modules for Azure power shell, meaning there are 2 different sets of Azure commands you can use to run the Azure power shell commands. Unfortunately, the white paper is using the AzureRM module and I was not able to go through successfully. Instead, Az module works well for me. So, I recommend you use Az module as well to proceed.  Az module is also recommended as you can see from below overview screenshot.

Use Connect-AzAccount instead to proceed.

Enter your Azure subscription account in below screen

Step 3 to check and select the Azure subscription ID.

Create the service bus with power shell command. Note you need to create the resource group manually on Azure portal before your run the command. Otherwise you will face below error. Note the diagram in whitepaper to elaborate this command is really confusing and sort of wrong.

Below is screenshot from whitepaper to elaborate the power shell commands to create service bus, however it’s using AzureRM and has some issue in particular with explanation of the parameters.

Below is my sample command I used to create my service bus. You can simply follow it to create your own service bus.

New-AzServiceBusNamespace -ResourceGroupName LeoResourceGroup20190115 -NamespaceName LeoServiceBus20190115 -Location ‘Southeast Asia’

It will take less than 1min to create the service bus with the Azure PS. Then you'll get below output. Save it somewhere.

In summary, below is a mapping between the commands in the whitepaper and commands for Az module -

Orignal command in whitepaper Description Resolution/Sample commands in my lab
Install-Module -Name Az -AllowClobber Install Azure PS Check windows PS version. Make sure 5.1 at a minimum.
Login-AzureRmAccount Connect Azure PS with your Azure subscription Connect-AzAccount
Get-AzureRmSubscription learn the subscriptions that are available and then select one of them Get-AzSubscription
Select-AzureRmSubscription -SubscriptionId <"subscriptionId"> learn the subscriptions that are available and then select one of them Select-AzSubscription -SubscriptionId "your Azure subscription ID"
New-AzureRmServiceBusNamespace -ResourceGroupName <-resourceGroupName-> -NamespaceName <-serviceBusName-> -Location <-WestUS-> Create Service bus with Azure PS New-AzServiceBusNamespace -ResourceGroupName LeoResourceGroup20190115 -NamespaceName LeoServiceBus20190115 -Location 'Southeast Asia'

 

Mobile connector

As of now (Feb 2019), version of the latest mobile connector is 8.2.387.0. Note – you always need to download the latest mobile connector from above link to configure this feature. Due to the topology change, old connector doesn’t support latest SAS.

Side notes for connector–

  1. Mobile connector doesn’t have to be installed in AOS servers. You can install it on any server you like. No AX component is required for mobile connector.
  2. If you run into below error when opening mobile connector UI, this is because the mobile connector service is in Stopped status. Simply start it from windows service list then you’ll be good to fix this issue and start the UI.

  1. ADFS is not required for workflow approval via email. So, you can enter any value when configuring parameters on connector UI for ADFS. Only 4 parameters as below are required for workflow approval via email. All rest you can just provide some dummy values for them.
    1. Azure service namespace - it's the service bus name LeoServiceBus20190115
    2. Azure service identity name - use default sendlisten
    3. Azure service identity password - primary key in SB > SAS > Primary key
    4. Endpoint URI of EmailApprovalsServices - Just replace the placeholder which is the AOS name. Sample : net.tcp://DAX2012R3:8201/DynamicsAx/Services/EmailApprovalsServices

 

Test result

Below is my received sample email for workflow approval.

After click approve/reject hyperlinks, the web page will be redirected to below new page where you can add some comments for approval/rejection–

The process can even be done on your smart phone –

The workflow is processed and you can check the comments from AX client > workflow history –

Side notes for troubleshooting

When you test the approval via email by clicking the link in email, you might get below error information and cannot proceed with approve/reject.

Checking the connector UI, you’ll notice only one Config service is showing (generally you should see 2 services showing in Started section - …/config, and …/email)

Resolution -

This issue is caused by wrong value (or even empty value) for EmailApprovalService on mobile connector UI. You need to fix the connector parameter by providing correct value for parameter EmailApprovalService (this is from the step #3 - create inbound ports, you need to create it manually in AX > inbound ports form. More guidance can refer to the whitepaper for workflow approval via email), you'll get 2 services showing in the connector UI (Email & Config) which is expected. And above issue you see from web browser will be gone.

 

Leave a Reply

Your email address will not be published. Required fields are marked *

*

This site uses Akismet to reduce spam. Learn how your comment data is processed.