Upload
islam-sultan
View
229
Download
0
Embed Size (px)
Citation preview
8/13/2019 Real Time Service Setup
1/12
AX for Retail 2012 R2: Installing the Real-time Service
Shane Erstad
Shane Erstad
Microsoft
MSFT
675Points2 1 0Recent Achievements
Blogger II New Blog Commentator New BloggerView Profile
18 Dec 2012 6:22 PM
Comments0Possibly the biggest change with AX for Retail 2012 R2 is the re-architecting of the Retail
Transaction Service.
The first thing you will notice is that the name has been changed: Retail Transaction Service is now
Commerce Data Exchange: Real-time Service. Store Connect was also renamed to Commerce
Data Exchange: Synch Service. While it may take some getting used to, these new names are
much better descriptors of their actual functionality.
Along with the name change, Real-time Servicehas fundamentally changed from a Windows
Service to an IIS Web Service. As mentionedin a previous article,the service itself really doesn't
do a whole lot functionally: it acts as a traffic handler between the POS and the Headquarters to
share real-time information. All actual logic is written in X++ code hosted in the AOS via the .Net
Business Connector. This part hasnt changed.
This architecture change means that installation and configuration has changed quite a bit. This
article will go through these steps to get you up and running with the new Real-time Service:
Installing the Real-time Service Adding the SSL certificate to the Windows server Finding the certificate thumbprint and common name Creating the Real-time Service Web site in IIS Configuring the Real-time Service in Retail Headquarters Testing the Real-time Service from the POS
Installing the Real-time Service
The Real-time Service itself is still a component of the Microsoft Dynamics AX installer and can be
found under Retail Components > Commerce Data Exchange > Real-time Service:
http://blogs.msdn.com/393352/ProfileUrlRedirect.ashxhttp://blogs.msdn.com/393352/ProfileUrlRedirect.ashxhttp://social.msdn.microsoft.com/profile/shane%20erstad/?ws=usercard-hoverhttp://social.msdn.microsoft.com/profile/shane%20erstad/?ws=usercard-hoverhttp://blogs.msdn.com/b/axsupport/archive/2012/12/18/ax-for-retail-2012-r2-installing-the-real-time-service.aspx#commentshttp://blogs.msdn.com/b/axsupport/archive/2012/12/18/ax-for-retail-2012-r2-installing-the-real-time-service.aspx#commentshttp://blogs.msdn.com/b/axsupport/archive/2012/12/18/ax-for-retail-2012-r2-installing-the-real-time-service.aspx#commentshttp://blogs.msdn.com/b/axsupport/archive/2012/01/09/ax-for-retail-customizing-the-retail-transaction-service.aspxhttp://blogs.msdn.com/b/axsupport/archive/2012/01/09/ax-for-retail-customizing-the-retail-transaction-service.aspxhttp://blogs.msdn.com/b/axsupport/archive/2012/01/09/ax-for-retail-customizing-the-retail-transaction-service.aspxhttp://blogs.msdn.com/393352/ProfileUrlRedirect.ashxhttp://blogs.msdn.com/b/axsupport/archive/2012/01/09/ax-for-retail-customizing-the-retail-transaction-service.aspxhttp://blogs.msdn.com/b/axsupport/archive/2012/12/18/ax-for-retail-2012-r2-installing-the-real-time-service.aspx#commentshttp://social.msdn.microsoft.com/profile/shane%20erstad/?ws=usercard-hoverhttp://blogs.msdn.com/393352/ProfileUrlRedirect.ashx8/13/2019 Real Time Service Setup
2/12
The Real-time Service needs to reside on a Windows server that has Internet Information Services
(IIS) installed and configured. It also needs to communicate to an AOS, so the .Net Business
Connector component also needs to be installed. You will notice that the Retail Salt Utility also gets
installed with the Real-time Service.
Even though the Real-time Service is a relatively light-weight component, in a production
environment it is good idea to install it on a non-AOS server.
One thing that may be a bit confusing is the fact that while the Real-time Service is now a Web
service, it has nothing to do with the existing Web services on IIScomponent also found in the AX
installer. Those Web services are used for other purposes, most notably allowing other applications
to integrate with Dynamics AX. You do not need to install that component as part of the Real-time
Service installation.
Upon successful installation you should get three folders under the Real-time Services folder
(C:\Program Files (x86)\Microsoft Dynamics AX\60\Commerce Data Exchange\Real-time
Services):
http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-16-metablogapi/7737.01_5F00_47C0C137.png8/13/2019 Real Time Service Setup
3/12
5.1 and 6.1 are there because AX for Retail 2012 R2 now has "N-1" support for previous versions
of the POS. These versions of the Real-time Service are still implemented as a Windows Service
and are configured just like Retail Transaction Service was configured in previous versions.
Since we are focusing on AX for Retail R2, we'll leave that topic for another article.
Adding the SSL certificate to the Windows server
Because the Real-time Service is now a Web service, an SSL certificate is required for
communication between the POS and the Real-time Service. Here are three options for installing
the certificate:
Requesting and Installing a certificate from IIS Management Console
For a production environment you will purchase and install an official certificate. This is the same
thing you would do for implementing SSL on any externally-facing web site. Instructions can be
found here:http://technet.microsoft.com/en-us/library/cc731977(v=ws.10).aspx
Using Powershell to install a certificate
If you already have received a certificate from your provider or are migrating one from a different
server, you may have the file in a PFX format. If this is the case, you can use the provided
Powershell script to install it:
http://technet.microsoft.com/en-us/library/cc731977(v=ws.10).aspxhttp://technet.microsoft.com/en-us/library/cc731977(v=ws.10).aspxhttp://technet.microsoft.com/en-us/library/cc731977(v=ws.10).aspxhttp://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-16-metablogapi/0474.03_5F00_4C934F26.pnghttp://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-16-metablogapi/3124.02_5F00_2AF72655.pnghttp://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-16-metablogapi/0474.03_5F00_4C934F26.pnghttp://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-16-metablogapi/3124.02_5F00_2AF72655.pnghttp://technet.microsoft.com/en-us/library/cc731977(v=ws.10).aspx8/13/2019 Real Time Service Setup
4/12
Open an elevated Powershell prompt:
Navigate to the "Sample Deployment Scripts" folder in the Real-time Services directory andrun the InstallServerCertificate.ps1 script.
When prompted, enter the path to your PFX file and the private key password. If all is successful you will get a message that the certificate was successfully installed:
Creating a self-signed test certificate
If you want to get Real-time Service up and running in a test environment, you may wish to create
your own self-signed test certificate. This is a good step-by-step walkthrough of how to do this:
http://weblogs.asp.net/scottgu/archive/2007/04/06/tip-trick-enabling-ssl-on-iis7-using-self-signed-
certificates.aspx
Finding the Certificate Thumbprint and Common Name
To verify that the certificate was installed correctly, we can navigate to it in the Certificate
management console and grab its thumbprint. To begin, launch an empty MMC instance (Start >
"MMC") and select File > Add/Remove Snap-in. Select "Certificates" and press the "Add >" button:
http://weblogs.asp.net/scottgu/archive/2007/04/06/tip-trick-enabling-ssl-on-iis7-using-self-signed-certificates.aspxhttp://weblogs.asp.net/scottgu/archive/2007/04/06/tip-trick-enabling-ssl-on-iis7-using-self-signed-certificates.aspxhttp://weblogs.asp.net/scottgu/archive/2007/04/06/tip-trick-enabling-ssl-on-iis7-using-self-signed-certificates.aspxhttp://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-16-metablogapi/6761.05_5F00_06DE9F3B.pnghttp://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-16-metablogapi/1300.04_5F00_7DD213B9.pnghttp://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-16-metablogapi/6761.05_5F00_06DE9F3B.pnghttp://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-16-metablogapi/1300.04_5F00_7DD213B9.pnghttp://weblogs.asp.net/scottgu/archive/2007/04/06/tip-trick-enabling-ssl-on-iis7-using-self-signed-certificates.aspxhttp://weblogs.asp.net/scottgu/archive/2007/04/06/tip-trick-enabling-ssl-on-iis7-using-self-signed-certificates.aspx8/13/2019 Real Time Service Setup
5/12
Select "Computer Account" and then "Local Computer" to add the snap-in. Once there, navigate tothe Certificates > Personal > Certificates and then look for your certificate on the right-hand pane:
Once in the certificate, navigate to the Details tab and then down to the Thumbprint property. Copy
the 20-digit (40 characters) hex string to your clipboard - we will need it later.
http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-16-metablogapi/2477.07_5F00_15792553.pnghttp://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-16-metablogapi/7840.06_5F00_1FF9F973.pnghttp://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-16-metablogapi/2477.07_5F00_15792553.pnghttp://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-16-metablogapi/7840.06_5F00_1FF9F973.png8/13/2019 Real Time Service Setup
6/12
8/13/2019 Real Time Service Setup
7/12
ServerCertificateThumbprint: The server certificate thumbprint noted above. You should remove
the spaces from the 40-character string.
The script will do some pre-requisition checks and then if all goes well, it will create the site:
If something fails, you will need to perform an uninstall before attempting again. Run the
UninstallCommerceDataExchangeRealtimeService.ps1script to do this. This script takes only
one parameter:
ServiceInstallFolder- This is the destination location that the source binary files were copied to.
By default this is C:\inetpub\DynamicsAxRetail\CommerceDataExchangeRealtimeService.
http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-16-metablogapi/8741.10_5F00_40AD968D.pnghttp://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-16-metablogapi/1488.09_5F00_7BE17258.pnghttp://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-16-metablogapi/8741.10_5F00_40AD968D.pnghttp://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-16-metablogapi/1488.09_5F00_7BE17258.png8/13/2019 Real Time Service Setup
8/12
Testing the Real-time Service Web service
If the Powershell script successfully installed the Web service, you can open IIS Management
Console to validate. First, navigate to Application Pools
and then to Sites:
http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-16-metablogapi/0842.13_5F00_7DDE2587.pnghttp://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-16-metablogapi/4062.12_5F00_542AD061.pnghttp://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-16-metablogapi/2072.11_5F00_2CB403F7.pnghttp://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-16-metablogapi/0842.13_5F00_7DDE2587.pnghttp://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-16-metablogapi/4062.12_5F00_542AD061.pnghttp://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-16-metablogapi/2072.11_5F00_2CB403F7.pnghttp://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-16-metablogapi/0842.13_5F00_7DDE2587.pnghttp://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-16-metablogapi/4062.12_5F00_542AD061.pnghttp://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-16-metablogapi/2072.11_5F00_2CB403F7.png8/13/2019 Real Time Service Setup
9/12
After confirming that they were successfully created, you can test the Web service via a Web
browser. Enter this URL into you browser:
http://[servername]:9080/CommerceDataExchangeRealtimeService/Service.svc
If things are working correctly you will see a screen like the following:
If you are running the Real-time Service on a non-AOS machine (and hopefully you are!) then you
need to perform one additional step before the Web service will work. By default, the service
attempts to use the default AOS on the local machine. Pointing it to an AOS is similar to the steps
in previous versions of the Retail Transaction Service.
In a text editor, open the Web.config for the Web service. By default this is located at
C:\inetpub\DynamicsAxRetail\CommerceDataExchangeRealtimeService.
http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-16-metablogapi/2437.15_5F00_452355AD.pnghttp://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-16-metablogapi/0777.14_5F00_6CAA47E4.pnghttp://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-16-metablogapi/2437.15_5F00_452355AD.pnghttp://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-16-metablogapi/0777.14_5F00_6CAA47E4.png8/13/2019 Real Time Service Setup
10/12
8/13/2019 Real Time Service Setup
11/12
As in previous versions, the Real-time Service profile is assigned to a specific register. Navigate to
Retail > Setup > POS > POS registersand open a register. The profile you created should be
assigned under General > Profiles:
After assigning the Real-time Service profile to a register, the changes can be pushed to the POS
database by running the N-1090 job.
Testing the Real-time Service from the POS
The easiest way to test that the Real-time Service is working correctly is to perform an InventoryLookup from the POS. Launch the POS and navigate to the Inventory Lookupbutton (in the
sample layout this is under Cashier Tasks). In the Inventory Lookup form, enter a valid Item ID
and press enter. If the POS is able to read information from Headquarters via the Real-time Service,
you will see the item information fill in:
http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-16-metablogapi/2043.17_5F00_068DE23A.png8/13/2019 Real Time Service Setup
12/12
Wrap-up
You can tell by the number screenshots alone that installing the Real-time Service is more
complicated in AX for Retail 2012 R2. There are also lots of opportunities for things to not work
correctly the first time around. I will address some of the more common ones in my next article. Inthe meantime, if you run into difficulties, please create a support incident and we can help get you
past any obstacles.
0 CommentsAX for Retail,Retail Transaction Service,Dynamics AX 2012,Commerce Data Exchange,Real-
time Service value:%3Ca%20
http://blogs.msdn.com/b/axsupport/archive/2012/12/18/ax-for-retail-2012-r2-installing-the-real-time-service.aspx#commentshttp://blogs.msdn.com/b/axsupport/archive/2012/12/18/ax-for-retail-2012-r2-installing-the-real-time-service.aspx#commentshttp://blogs.msdn.com/b/axsupport/archive/tags/AX+for+Retail/http://blogs.msdn.com/b/axsupport/archive/tags/AX+for+Retail/http://blogs.msdn.com/b/axsupport/archive/tags/Retail+Transaction+Service/http://blogs.msdn.com/b/axsupport/archive/tags/Retail+Transaction+Service/http://blogs.msdn.com/b/axsupport/archive/tags/Retail+Transaction+Service/http://blogs.msdn.com/b/axsupport/archive/tags/Dynamics+AX+2012/http://blogs.msdn.com/b/axsupport/archive/tags/Dynamics+AX+2012/http://blogs.msdn.com/b/axsupport/archive/tags/Dynamics+AX+2012/http://blogs.msdn.com/b/axsupport/archive/tags/Commerce+Data+Exchange/http://blogs.msdn.com/b/axsupport/archive/tags/Commerce+Data+Exchange/http://blogs.msdn.com/b/axsupport/archive/tags/Commerce+Data+Exchange/http://blogs.msdn.com/b/axsupport/archive/tags/Real_2D00_time+Service/http://blogs.msdn.com/b/axsupport/archive/tags/Real_2D00_time+Service/http://blogs.msdn.com/b/axsupport/archive/tags/Real_2D00_time+Service/http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-16-metablogapi/6175.18_5F00_2D2C48BA.pnghttp://blogs.msdn.com/b/axsupport/archive/tags/Real_2D00_time+Service/http://blogs.msdn.com/b/axsupport/archive/tags/Real_2D00_time+Service/http://blogs.msdn.com/b/axsupport/archive/tags/Commerce+Data+Exchange/http://blogs.msdn.com/b/axsupport/archive/tags/Dynamics+AX+2012/http://blogs.msdn.com/b/axsupport/archive/tags/Retail+Transaction+Service/http://blogs.msdn.com/b/axsupport/archive/tags/AX+for+Retail/http://blogs.msdn.com/b/axsupport/archive/2012/12/18/ax-for-retail-2012-r2-installing-the-real-time-service.aspx#comments