I got the opportunity to upgrade a client from Dynamics CRM 4 to CRM 2011 recently. There are tons of reasons to upgrade to the newer version of Dynamics CRM that I won’t go into here. Just searching for ‘benefits of CRM 2011’ will give you variety of business reasons.
Like a lot of implementations, our client had quite a few custom plugins in their CRM 4 install. Part of our upgrade process was to upgrade this custom code as well.
This was a great opportunity to get into the code and start utilizing the new objects along with the new SDK (http://www.microsoft.com/en-us/download/details.aspx?id=24004). As an example, we needed to start using the ‘Entity’ object instead of the ‘DynamicEntity’ object. We were able to get the code updated and get a successful build.
After we went through an upgrade process and did some basic testing, we knew it was time to update the plugins. This should be easy enough, I thought. I fired up the plugin registration tool with a user that had the CRM administrator role. I went through my normal process to update the assembly like I always do and…BAM!!! (in superhero type fashion). I received the following error message:
“The content type text/html of the response message does not match the content type of the binding (application/soap+xml; charset=utf-8). If using a custom encoder, be sure that the IsContentTypeSupported method is implemented properly. The first 75 bytes of the response were: The page cannot be displayed because an internal server error has occurred.”
Why oh why can’t this error message be a little more descriptive? I did a little researching to see if there was something that would just jump out at me. I talked to someone on our infrastructure team to see if there was something special for how this server was set up. Nothing was unusual. We were going to keep the server locked down like we always do.
After talking this through, it dawned on me. I had forgotten to ask our infrastructure team to include the plugin registration user as part of the deployment administrators. Once this user was added to the deployment administrator role, I was able to update the plugin assembly. I wanted to write this in case anyone else encounters this situation.
We have created quite a few custom plugins to extend the CRM functionality. If you ever find yourself in a jam, drop us a line. Maybe we can brainstorm some ideas of how to overcome it. View more information about eimagine and CRM.