Try Microsoft Edge
A fast and secure browser that's designed for Windows 10
SBA Implementation and Troubleshooting
Here is a little background: Service Based Architecture (SBA) is a set of services using REST – the most common type of web service. It is a means to get around the limitation imposed by eConnect and its parallel system of SQL stored procedures, as well as limitations on Web Services - since SBA is running the same code base as the Microsoft Dynamics GP client. This is a recap and review to get started with SBA.
The installation of SBA is straightforward. Microsoft Dynamics GP will also need to be installed on the machine that SBA will be installed on. Below are also a couple of things to keep in mind:
This is essentially what we refer to as the Identity Manager portion of the Web Components. Users will be prompted for a directory account when accessing some SBA endpoints. This directory account will need to be tied to a Microsoft Dynamics GP account – this is the same way that we would achieve automatic login on Web Client.
If this seems to be a problem, try accessing the installation of Web Client – if logging in with the directory user does not automatically log you into Microsoft Dynamics GP, there is an issue with your identity manager. You can check troubleshooting steps regarding this issue here:
Once you have the user account assigned, you will want to grant this user the POWERUSER role which will allow them to use all of the SBA procedures. Granular control is also possible. You can find SBA related security tasks under the Service Enabled Procedures type.
One final note regarding users, SBA is not really asymmetric. Though, most SBA procedures complete relatively quick, if another request to SBA is received and the last one has not completed, it will result in a “user unauthorized” error. So, it may be a good idea to consider a pool of SBA users for a high-volume usage.
Tools Setup and CORS Validation
I recommend using a Chrome Extension POSTMAN for testing various SBA procedures:
First thing to do once you open the tool, make sure you enter the SBA user credential under the Authorization tab. You should only need to use Basic Auth on a traditional Windows domain, but more information regarding Azure authentication can be found here:
Once you start testing some of the SBA procedures, you may encounter the following error:
CORS validation failed for the origin ‘chrome-extension://fdmmgilgnpjigdojojpjoooidkmcomcm’. Please ensure this origin has been explicitly allowed access to call this service in the server configuration.
You can check troubleshooting steps regarding this error here:
However, I’ve also found it easier to add a new entry into the SBACorsAllowedOrigin table located in the database specified during Web Component setup (usually called GPCONFIGURATION). The name field can be anything, but the origin field needs to match the origin from the error message; chrome-extension://fdmmgilgnpjigdojojpjoooidkmcomcm in our case.
Now for the fun bit, how do you use POSTMAN to actually send data to SBA?
You first need to change from GET to POST by clicking on the button located left side of the address bar.
Once you have done that, you will be able to select the Body tab, where you can either paste in the payload in raw mode, or select a payload file in binary mode.
SBA URL Paths
Here are things to keep in mind regarding SBA and the URL PATH used for its procedures.
For the company name, your best bet would be to check the entries in the SY01500 table in the Dynamics system database. Make sure to copy the exact entry in the CMPNYNAM field, including any spaces. Trust me, it matters.
Web Management Console and Logging
Log files for SBA can be found in the following locations.
You can find out more about enabling logging here:
Thank you! Karl