My Photo

Microsoft Dynamics 365

Official Blog for Microsoft Dynamics Functional and Technical Solutions....
Browsing Category " Connection Error "

Unable to Connect Plugin Registration tool with MS CRM v9 / D365 SDK

On
ISSUES:

Not able to login Plugin registration tool (Keep popping up for Credentials)

Resolution:

1. Update latest SDK from the Download tools from NuGet or Quick start Plugin Registration Tool V9.0.0.7

For downloading the latest PRT from VS Nuget packages - this link might be useful

2. Modify using TSL to 1.2 through Fiddler .

Step 1 Open Fiddler and navigate to Tools - Options - HTTPS Tab


Step 2 Under HTTPS tab click on to Protocols link - a Popup will come change the TLS vesion from 1.0 / 1.1 to tls 1.2.  i.e. " <client>;ssl3;tls1.2 " and press on ok


Now you will be able to connect to your CRM v9 Organisation with PRT

Happy CRMing 😊

SOURCE : mscrm.com

Dynamics CRM V9 / D365 connection Error Console or Custom Web Application

Last Night I Created a new Organisation and Connected it with console app an then I faced a strange issue in CRM v9 while connecting to Org Service with D365 through web API. It was perfectly working before that. If any one faces the below issue then try the solution given below.

Issue : Connection to CRM V9 / D365 from console application or Custom Web application failed with exception

Error Observed:

Message : "One or more errors occurred." 
Source : "mscorlib"





ROOT CAUSE:

Its all because of the latest update in the Microsoft TSL(Transport Security Layer) Protocol in SDK assemblies..Microsoft allowed the TSL connection 1.0  and 1.1 for the browsers or client to connect the CRM org.Now Microsoft will support only TSL 1.2 or above going forward(Reference) . If you are connecting your org with the old version of plugin registration tool , then you may face this issue

SOLUTION:

Include the below reference to your project(to global config file the line before where your client credentials is configured) and change the .Net framework to 4.6.1 and rebuild 

"ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12"

Code Snippet :

//Create an HTTP client to send a request message to the CRM Web service.
                using (HttpClient httpClient = new HttpClient(messageHandler))
                {
                    //Specify the Web API address of the service and the period of time each request
                    // has to execute.
                    httpClient.BaseAddress = new Uri(serviceUrl);
                    httpClient.Timeout = new TimeSpan(0, 2, 0);  //2 minutes

                 
                    ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12;

                    //Send the WhoAmI request to the Web API using a GET request.
                    var response = httpClient.GetAsync("api/data/v9.0/WhoAmI",
                            HttpCompletionOption.ResponseHeadersRead).Result;

                    if (response.IsSuccessStatusCode)
                    {
                        //Get the response content and parse it.
                        JObject body = JObject.Parse(response.Content.ReadAsStringAsync().Result);
                        Guid userId = (Guid)body["UserId"];
                        Console.WriteLine("Your system user ID is: {0}", userId);
                    }
                    else
                    {
                        Console.WriteLine("The request failed with a status of '{0}'",
                               response.ReasonPhrase);
                    }
                }

Happy Coding 😊

SOURCE : https://community.dynamics.com