While working on AX integration using BizTalk, a requirement arose to save some of the configuration data. There are several options available as described in this article.
We decided to store the configuration in the SSO database. While the MMC snap-in provided by Microsoft is good enough, there is no option to bulk edit the Key/Value pairs stored in the SSO database. The snap-in does allow to export the file, but its encrypted and hence cannot be edited outside of the snap-in.
We wrote a small utility which allows to decrypt/encrypt the files exportable from the snap-in. Once exported, the file can be decrypted, edited in a text editor, encrypted again and can be imported in the snap-in to create the key/value pairs in the SSO database.
The utility can be downloaded from here.
This posting is provided "AS IS" with no warranties. Use code at your own risk.
Saturday, 24 March 2018
Tuesday, 20 February 2018
Synchronization error due to SQL Plan Guides
Recently we had to create a plan guide in SQL Server (not a good long term solution). Everything seemed to be working fine until we had a production deployment and the database synchronization failed as shown in the screenshot below.
It seems that during synchronization a store procedure is recreated. As our plan guide was based on queries in the stored procedure, AX was unable to drop it. Only solution was to drop the plan guide (disabling the plan guide did not help) and re-create it after the synchronization.
This posting is provided "AS IS" with no warranties. Use code at your own risk.
Sunday, 31 December 2017
SSL/TLS error when calling a web service
For one of our integrations we received the following error when it was enabled in production.
Could not establish secure channel for SSL/TLS with authority ''.
The web service requires some certificates to be installed which were correctly installed. The web service was working fine on development machines. Initial investigation did not find anything different between the development/production systems. We then traced the web service calls using Fiddler on both development and production machines and that's when we found out that the number of ciphers are different on both environment. Production did not had the ciphers highlighted below.
A quick search on internet pointed towards a windows KB (3172614) which adds new ciphers. Installing the KB fixed the issue.
Note: The KB requires restart of the machine.
This posting is provided "AS IS" with no warranties. Use code at your own risk.
Could not establish secure channel for SSL/TLS with authority ''.
The web service requires some certificates to be installed which were correctly installed. The web service was working fine on development machines. Initial investigation did not find anything different between the development/production systems. We then traced the web service calls using Fiddler on both development and production machines and that's when we found out that the number of ciphers are different on both environment. Production did not had the ciphers highlighted below.
A quick search on internet pointed towards a windows KB (3172614) which adds new ciphers. Installing the KB fixed the issue.
Note: The KB requires restart of the machine.
This posting is provided "AS IS" with no warranties. Use code at your own risk.
Labels:
Ciphers,
SSL,
TLS,
WCF,
Web Service
Thursday, 21 December 2017
Error "Data at the root level is invalid" when opening a report
Recently users reported that they receive an error when opening a particular report. The error is
"Data at the root level is invalid. Line 1, position 1."
The call stack of the error is
Even opening the report in Visual Studio was throwing the same error as shown below.
This posting is provided "AS IS" with no warranties. Use code at your own risk.
"Data at the root level is invalid. Line 1, position 1."
The call stack of the error is
Even opening the report in Visual Studio was throwing the same error as shown below.
We exported the report from the AOT and analysed it ina text editor. It turned out that there was a CU/KB applied and the report was part of it. However the report was never upgrade and it had comments from the code upgrade tool. Fixing these comments in text editor, re-importing the report in to AX and deploying it fixed the issue.
This posting is provided "AS IS" with no warranties. Use code at your own risk.
Monday, 7 March 2016
Error while activating inbound port
Last week we received an error while trying to activate a previously working WCF inbound port. The error message was
On investigation we found out that there was a code merge between two TFS branches and somehow one of the EDT used in the service contract was removed. When AIF was trying to generate service artifacts, it could not find the EDT and hence was throwing above error. Once the EDT was re-created, the error disappeared and service activated successfully.
This posting is provided "AS IS" with no warranties. Use code at your own risk.
The service '<SERVICE_NAME_HERE>' could not be generated.\n Error: SysDictType object not initialized.
Stack trace
(S)\Classes\AifServiceDataTypeGenerator\generateType - line 76
(S)\Classes\AifServiceDataTypeGenerator\generateDataContractClass - line 127
(S)\Classes\AifServiceDataTypeGenerator\generateType - line 54
(S)\Classes\AifServiceDataTypeGenerator\generate - line 68
(S)\Classes\AifMessageContractGenerator\generate - line 22
(S)\Classes\AifServiceGenerator\generate - line 30
(S)\Classes\AifServiceGenerationManager\generateServices - line 102
(S)\Classes\AifPortManager\deployPort - line 22
(C)\Forms\AifInboundPort\Designs\DesignList\DeployPort\Methods\Clicked - line 12
The error message was shown on "AIF services" form "General" fast tab.On investigation we found out that there was a code merge between two TFS branches and somehow one of the EDT used in the service contract was removed. When AIF was trying to generate service artifacts, it could not find the EDT and hence was throwing above error. Once the EDT was re-created, the error disappeared and service activated successfully.
This posting is provided "AS IS" with no warranties. Use code at your own risk.
Subscribe to:
Posts (Atom)





