Troubleshooting: Integrating with the Connector for Microsoft Dynamics
This topic describes some common problems that you may see when you use the Connector for Microsoft Dynamics.
By default, web services are not turned on in Microsoft Dynamics NAV. For the Connector for Microsoft Dynamics to work correctly, you must expose pages as web services.
To turn on web services
Click Start, right-click Computer, and then click Manage.
In the Computer Management window, expand Services and Applications, and then select Services.
In the list of services, select the Microsoft Dynamics NAV Business Web Services, and then start the service.
Note You can also set up web services so that they are turned on automatically.
Right-click Microsoft Dynamics NAV Business Web Services, and then click Properties.
On the General tab, in Startup type, click Automatic, and then click OK to save changes.
- Right-click Microsoft Dynamics NAV Business Web Services, and then click Properties.
For more information, see Working with Web Services in the MSDN Library.
When using Microsoft Dynamics NAV web services, the web service call may return a fault with one of the following messages:
Client callback (such as showing Pages) is not supported when executing custom Web services. <Additional information about the error from the dialog box>
Callback functions are not allowed.
The first error generally occurs because the web service has accessed application code that contains either a Confirm or StrMenu dialog box or a Page type. These types of dialog boxes require user input, which cannot be handled when using the web service. The web service call then includes a detailed message with information from the dialog box, which you can then use to analyze the reason for the callback.
To resolve this error, make sure that the web service call does not call code that contains a Confirm or StrMenu dialog box or a Page type, or modify your Microsoft Dynamics NAV solution to allow data to be inserted or modified without any user interaction.
The second error generally occurs because the web service has accessed other application code that requires interaction with a client, such as a call to a client-side COM object.
To resolve this error, make sure that the web service call does not call code that requires interaction with a client, or modify your Microsoft Dynamics NAV solution to allow data to be inserted or modified without such interactions.
When you reinstall Microsoft Dynamics NAV and then try to start the Connector for Microsoft Dynamics, you may see the following message:
Object reference not set to an instance of an object.
To resolve this error, enable the Connector in Microsoft Dynamics NAV, verify that Microsoft Dynamics NAV web services are turned on, and then start the Connector for Microsoft Dynamics again.
If you have selected the inheritance fields in the Marketing Setup window on the Inheritance FastTab, you will overwrite information on a contact if you link the contact to a parent customer in Microsoft Dynamics CRM.
After you integrate a contact from Microsoft Dynamics CRM, the contact will be assigned the address and communication information of the parent customer after synchronization with Microsoft Dynamics NAV, rather than the address information of the contact. If you subsequently link this contact to a parent customer, the contact information will be overwritten in Microsoft Dynamics CRM with that of the parent customer. This also occurs if you have a solution in which you integrate from Microsoft Dynamics CRM to Microsoft Dynamics NAV and then back to Microsoft Dynamics CRM.
To avoid this issue, do not use the marketing inheritance features at the same time that you are using Connector for Microsoft Dynamics to integrate Microsoft Dynamics NAV with Microsoft Dynamics CRM.
Typically, when you set up sales orders in Microsoft Dynamics NAV, you must also specify the currency code. If you do not specify a value, then Microsoft Dynamics NAV treats this as though you had set the value to local currency (LCY). In many instances, moreover, Microsoft Dynamics NAV code has the following logic:
If Currency Code <> ''
Then . . . // Logic where currency code is different from local currency.
To ensure the expected synchronization behavior, examine the connector maps and update them as necessary. The local currency code is not created in a standard implementation. It is therefore necessary to set up a special map for each implementation that transforms and sets the LCY coming from Microsoft Dynamics CRM to
"" when a sales order is synchronized to Microsoft Dynamics NAV.
When you have enabled the Connector for Microsoft Dynamics, you may encounter an error if you try to rename records. The error message states that you cannot rename records in the RoleTailored client if the renaming action would affect other records. The message is there to help you avoid data loss.
To resolve this issue, do one of the following:
Remove the links.
Rename the record and establish the links again.
Start the Classic client and rename the record.
When you are integrating your Microsoft Dynamics NAV database with Microsoft Dynamics CRM, we recommend that you integrate your database modifications and deletions with web services. If you cannot do this and are using C/FRONT or other direct database access, then the following limitations apply. In Microsoft Dynamics NAV 2009 R2, you can use the Generate Integration IDs for Connector for Microsoft Dynamics function to add or update integration IDs for records that you create or modify in a database through direct database access. However, you cannot integrate records with Microsoft Dynamics CRM that have been deleted with a tool such as C/FRONT. If you use C/FRONT to delete records that already have an integration record and it does not call C/AL code, then your deletion will not be integrated with Microsoft Dynamics CRM.
To resolve this issue, use the following procedures to modify your data. You should review the Integration Management codeunit, which has basic functionality for Create, Modify, and Delete operations.
To add a new record to a table
Insert a corresponding record in the Integration Record table, and then set the following fields.
Field ID Field name Description
Number of the table in which the new record was inserted.
Number of the page from which you read the record from web services.
Record ID for the inserted record.
Integration ID (GUID) of the new record. Set to a new GUID.
Date and time information for the deleted record. This should be empty.
Date and time information for the modified record. This should be set to the CURRENTDATETIME.
For more information, see Integration Record Table.
To modify an existing record
Modify the record.
In the Integration Record table, locate the corresponding record, which in some cases could be the header record, and then update the time stamp information in the Modified On field.
Note If you have updated the primary key, then you should also recursively update any records that refer to that primary key.
To delete an existing record
Delete the record.
In the Integration Record table, locate the corresponding record, which in some cases could be the header record, and then update the time stamp information in the Deleted On field and clear the value in the Record ID field.