Monday, February 11, 2013

AX 2012 R2 - RapidStart Connector Issue

I was recently challenged with my first RapidStart Connector installation and configuration for AX 2012 R2 (RTM). I don't know if this was the correct solution, but it solved my issue. I found people having similar issues, but no solution. And remember that this is written by a non developer :-)

Symptom:

After activation and service startup or later attempts to start the Connector service (On Premise), the Connector fails to start with the following message (activation went well and was registered on the RapidStart Services site in Azure):










 
 
 
 
 
 
 
 
 
Approach:
 
First I verified that the necessary network traffic was allowed trough the firewall (this was a hosted solution). A rule for outgoing traffic on TCP ports 9350-9354 (range) was added as described by others and outgoing traffic on TCP port 443 was already allowed (I think the activation step uses https/TCP 443).
 
After this, I could focus more on AX. Since the RapidStart Connector relies on the AifGDS (General Document Service) and the AppConfigServices, I decided to activate logging for these services (I think the latter only is used when some kind of configuration data is sent from RapidStart Services to AX).

 








This showed that there indeed was an Exception logged for the AifGDS Service every time I tried to start the service.
 
Hmm, how does the CompanyInfo table look in the Table Browser in the AOT? Well it turned out to show the value Unretrieved ...
 



 

 
Ok, next step - check the table in the database. Hmm, no table called CompanyInfo found... Back to the AOT and check the table properties. OK Table Inheritance and base table was DirPartyTable. Back to the database and query the DirPartyTable. There I found the columns and after checking the value for the first exception logged for the Service, it turned out to be a SQL NULL value.
 
Solution:
 
Next step - (rather experimental) updated the column with a dummy value ('A') and another attempt to start the Connector Service - failed again, but with a similar exception logged for another column in the same table (remember not CompanyInfo but DirPartyTable in the database). Updated the column and started the service again - same status and exception logged for another column. I was finally progressing! Repeated this process for all columns (I guess it was around 15 columns in total) and FINALLY the Connector Service started successfully! Final verification showed that the endpoint was active in the RapidStart Services.
 
Brief analysis from a non developers perspective:
 
It clearly seems to be some kind of relationship between the License Configuration (no functionality for Japan was activated in the License Configuration) and the XML schema for the AifGDS Service. AX 2012 has a fixed schema (all standard tables will always exist in the database with the standard columns) and deactivated columns is NULLed out (SQL NULL values). Since the service was operational after updating the columns with dummy values, it clearly shows that some relationships still exists. A large improvement compared to earlier versions of AX, but still some things to consider (maybe the underlying document class should be modified, but that would end up in a modification). On the other hand AX 2012 R2 seems to have undergone some major changes with regards to Table Inheritance and hierarchies that also could cause some issues if not handled correctly. I have also seen some indications that changes to the License Configuration introduces some issues when synchronizing the database (a lot of warnings for views and errors for datasets) and that there seems to be a lot of dependencies in this area also.
 
Hopefully this will help others experiencing the same issue or at least point in the right direction. What I can say for sure is that AX 2012 R2 contains some major changes...