First off I needed to install the connector, but before I could begin I needed to install the Web Services for GP. And the Web Services Runtime also had a list of requirements…
Make sure you use the correct Install guide. I found the one on the MS website, which is named the same as the one in the install DVD for GP2010, is just a little different. As I ran the through the install I did notice that what I was doing was a little different but I thought it was just missing information (we all know that never happens) but when I tried to test the web service url it was not correct. The installation was pretty straight forward. You need to make sure you have IIS set up, functional currency and the ISO currencies. I installed this on the same server as my gp sql server so I could use the local account for the service account. So running through the wizard worked fine and I really didn’t need the documentation until…Here is where my problem started… http://machine_name/DynamicsGPWebServices/DynamicsGPService.asmx is not the correct url for GP2010 and you will not find a webservice there. So if you are getting a 404 it may simply be the url is incorrect.
I used the default settings for the install and this is the correct url for GP2010:
In documentation : http://machine_name:48620/Dynamics/GPService
this one also got me there: http://machine_name:48620/DynamicsGPWebServices
From what I understand there is no actual site in IIS like there is for GP10 and going and looking in there you will not find anything. To see if you have the WebService set up you want to look in Services for Microsoft Dynamics GP Service Host. It that is there and running you should be good.
You will then be directed to set up security. This is a tool that you end up using for both the Web Service and Connector security. It is under Administrative tools>Dynamics Security Console. The instructions were pretty straight forward for this as well.
Now it was time to install the connector. This went fine although I did need to install the .net 4.0 framework and that required a reboot of the server so this does need to be done after hours. Good thing I chose a saturday.
The install was pretty straight forward from there. You have some security that you will need to address, but the install guide had everything defined very well.
Then I get to the setting up of the adaptors. It suggests the CRM adaptor first. You have to import the solution listed and this will set up the security role. You will need to have a user assigned to this role before you try to set up the adaptor.
So I added the credentials for the user I assign the security role to and add the Discover Service URL as listed in the documentation. Now I was getting a very strange error.
Test setting failed:
A connection to the Microsoft Dynamics CRM discovery service could not be validated using the “http://myserver/XRMSerivces/2011/Discover.svc” server and the port””.
The following exception occurred while attempting to retrieve all companies: The remote name could not be resolved: ‘http’
The instructions were very clear go to developer resources and grab the URL for Discover Service however it is only asking for “Discover Server” so I tried just the name of the server even though the documentation clearly says where to get the “url”.
Test settings failed:
The following exception occurred while attempting to retrieve the “CRM” configured company: exception while trying to create an instance of the Dynamics CRM web Service.
Now Of course I decided to click the link that said “Configure Microsoft Dynamics CRM” It seemed reasonable, and I was able to connect to my server and pull in my organizations and I went through the little wizard.
Yeah.. DONT do that. I have no idea if you have to and I am half tempted to revert my CRM VM back because the little utility updated a ton of permissions and I only selected the ones that were done by default. I watched as it told me what it was updating and it removed “create”, “delete” and probably “edit” permissions on any entity that was selected for all of my roles. I am assuming that the utility assumes that you want the “system” to be the only one to make updates to those particular entities. I will have to let you know later how that one works out.
I marked out that text and have an update… You will have to use the Configure Microsoft Dynamics CRM untility. And here is what gets changed… I found this in the documentation a little later on
Changes made by the Microsoft Dynamics CRM Configuration utility
If you run the Microsoft Dynamics CRM Configuration utility, the following changes are made to each Microsoft Dynamics CRM organization that you selected for configuration.
Note: Before the Configuration utility makes any changes to Microsoft Dynamics CRM, it saves your existing customizations to C:\ProgramData\Microsoft Dynamics\Microsoft Dynamics Adapter. You can choose to remove these customizations and revert to your previous customizations if you uninstall the product. If you choose to remove the customizations, any of the custom entities that contain data will not be removed.
A Submit Order button is added to the Order form. This button appears only for users who are in roles that have the ISVExtenstions privilege enabled for the organization.
All prices and price lists are set to read-only.
The product catalog is set to read-only.
All unit groups are set to read-only.
Any existing products, discount types, and price levels in the product catalog are deactivated and renamed.
The invoice functionality is limited to read-only within Microsoft Dynamics CRM.
The default decimal precision is set to four decimal places. You can change this setting if you want your Microsoft Dynamics CRM pricing decimal precision to be less than four. The Microsoft Dynamics CRM pricing decimal precision should match your Microsoft Dynamics GP functional currency decimal precision to prevent rounding issues. Microsoft Dynamics GP functional currency decimal precision can be set up to five while Microsoft Dynamics CRM can be set up to four.
Integration key attributes are added to the entities selected on the Select the entities to configure for integration window. The following entities are pre-selected by default:
o ERP system user
The following custom entities are added.
o ERP System User – For tracking salespersons in the ERP system
o *Account* – For tracking accounts that have been integrated and then deleted from Microsoft Dynamics CRM
o *Contact* – For tracking contacts that have been integrated and then deleted from Microsoft Dynamics CRM
The isSOPIntegrated attribute is set to true for each organization to be integrated.
A Ready for Integration check box is added to the Administration tab on the Account form.
An Integration Key attribute is added to the Administration tab on the Account form.
A Submit button is added to the Account form.
CONNECTOR FOR MICROSOFT DYNAMICS FOR USE WITH MICROSOFT DYNAMICS GP™
A Ready for Integration check box is added to the Administration tab on the Contact form.
A read-only Integration Key field is added to the Administration tab on the Contact form.
A Submit button is added to the Contact form.
A control is added to the User form that allows users to map an integrated ERP system user to an existing Microsoft Dynamics CRM user.
The Order form is validated to ensure that a customer account is ready for integration or that the customer account is able to be integrated if it is not already integrated.
A plug-in is registered in Microsoft Dynamics CRM.
The Microsoft Dynamics Integration security role is created.
The following privileges are removed from all security roles that they are associated to:
When using a Microsoft Dynamics CRM online deployment, the user specified as the CRM Integration account will be set to have an access mode of Non-interactive and will be flagged as an integration account.
The above information was pulled directly from the ConnectorForMicrosoftDynamicsGPFeaturePack6.pdf
The Adapter settings for GP went very smoothly.
Well at this point I thought I would try to do a new integration. Well that was when I noticed that I do in fact need to get those setting to work.
After taking a look at the tips for CRM adaptors in the documentation I noticed it said
“Microsoft Dynamics CRM organizations have been properly configured, the message “Test settings succeeded with warnings” is displayed when you click Test Settings. This means that the Test Settings operation was successful in validating some of the Microsoft Dynamics CRM organizations but failed with others.”
Ok that was not anywhere near what the error message said, but I did remember when I did my new install of CRM 2011 it automatically set up the “CRM” organization and then when I was importing my current company DB it said that I needed to create a new DB because CRM already existed. (later I found out I could have disabled and deleted CRM and imported the old CRM db and created the Org on the fly) Anyway so I never really set up CRM organization and I did not import the solution into it. After reading the little note in the doc I took a stab and disabled the CRM org.
So after I ran the utility and then found the tip and disabled the CRM organization I was not using. My Discovery Server ended up just being the name of my server. Not the entire url.
So now that I have the connector set up and talking to both GP and CRM it will be time to try an integration and that will be another post.