I ran into an issue earlier where I was trying to retrieve a customer using the Catalina Technology API for Dynamics SL. But the problem was that the CustID had special characters in it. In this case, the CustID looked like this: “BB& 1 2“
So, there was a prefix of “BB”, then there was an ampersand, and then there were two spaces, then the number 1, two more spaces, then the number 2.
First of all, I had to URL encode the CustID that was getting passed to my API so that the call looked like this:
You can see that & was replaced by %26 and a space was replaced by %20.
Now, that is fine, but then .NET was having problems with the & (even encoded) in that it had an error like this:
A potentially dangerous Request.Path value was detected from the client (&).
This is remedied by looking at the web.config of your ctDynamicsSL application. Search for the keyword: httpRuntime. Once you found that, if you don’t already have an attribute requestPathInvalidCharacters in that key, add it. This is a good default one:
As you can see above, I removed &, from the invalid characters. Thus allowing the ampersand to be allowed.
NOTE: If your httpRuntime has other attributes like the .NET version, etc. Leave those alone. Just worry about the requestPathInvalidCharacters attribute and it’s value.
Having a Continuity of Operations Plan is very important for businesses to continue to perform essential functions under a broad range of circumstances. The term Continuity of Operations Plan (COOP) is mostly attributed to the Federal Government which mandates a plan to keep the government running when faced with different crisis (financial, war, terrorist attacks, natural disasters, even nuclear attacks).
In the business world, we hopefully don’t have to worry about things like nuclear attacks, but we still need to be prepared so that we can be operational when “disaster” strikes. This could be any number of things: loss of key personnel, data loss, hacker breach, regional natural disasters (hurricane, earthquake, etc.), or what we have today with a global pandemic that is forcing businesses to shut down offices, implement work at home orders, and reduction of staff.
When you have less support staff to do your day-to-day processing of AR, AP, and other tasks, it becomes difficult to get paid by your customers and pay your vendors. Utilizing automation can help reduce your risk of downtime during crisis times. And it can increase productivity when you aren’t operating in crisis mode.
In the Accounts Receivable realm, Catalina Technology has automation tools that allow businesses to create customer portals so that the customer can login, view their statements, pay invoices, apply credit memos, and other AR functionality. Account Central also allows your remote workers to login and manage their customers, send out invoices, and pay for their customers without having to be in the office.
Because Catalina’s tools are web based, your infrastructure needs are minimal. You don’t have to have complex VPN’s setup, access to terminal server, or the SL thick client. All the user needs is a web browser. Security also insures that payments captured are PCI compliant to protect your customer’s identity and payment information.
Catalina also has other integration tools that allow you to integrate with best of breed cloud based solutions for procurement, ecommerce, CRM, human resources, time tracking, and many more. This will allow you give your employees and customers access to cloud based tools and apps no matter where they are working. Catalina’s integration tools will then make sure that the data synchronizes between SL and cloud.
Regardless of what you do to plan for crisis, having a plan is important. Most businesses get caught off guard even from the smallest of emergencies. Creating a plan, understanding your weak points, and having ways to maintain operations during an emergency is very important. The federal government also has some pointers and planning ideas here on ready.gov: https://www.ready.gov/business-continuity-plan
Brian Wharton founded Catalina Technology (www.catalinatechnology.com) to extend enterprise systems to the web over 20 years ago. Catalina is a leader in integration and API development for ERP solutions.
Catalina Technology is a developer of an extremely comprehensive software API which enables the back office ERP to integrate to many 3rd party and custom solutions for CRM (Dynamics CRM and Salesforce), helpdesk and support, time and expense management, 3PL integration, EDI replacement, and more.
This is a video I did back in 2017 where I took a photo of a house key and 3D printed it and it actually worked. NOTE: This key wasn’t the strongest of keys. And only worked a few times. But it is only needed once to make it a bad day for a home owner. Beware when you post pictures that include your keys in them.
If you are looking to build a cross platform application in .NET Core that can access Dynamics SL, you can use Catalina’s API for Dynamics SL. This is a demo on how you can do it using Visual Studio and deploy the client to Windows, Mac, and/or Linux (or any OS that supports .NET Core).
Demo on Connecting to Dynamics SL through .NET Core
Last week, I posted a video for a demo on how to use our REST API to integrate to projects in Dynamics SL. This one uses our SOAP based Web Services to do the same thing.
If you use the Catalina Queue Engine for queuing records, you might want to retrieve data in a FIFO (First In First Out) method. This means you want to grab the oldest records first. This is easily accomplished by calling the Catalina Queue API with the parameter sortBy in the query string.
Example, if you are retrieving the queue ORDERS, you would format your URL, for the Queue API, like this:
If you are going to use our userMaintenance web service, to manage SL user logins, it will also need: db_securityadmin db_accessadmin
Also note that by default, we normally install our scripts under the dbo schema. So, you also have to give the user, we are connecting as, execute on that schema.
eg. grant execute on schema :: [dbo] to usernamehere