spkl: can't connect with Dynamics 365 (online) instances - dynamics-crm

Could not able connect Dynamics 365 (online) instances from deploy-plugins.bat. I am using spkl version 1.0.178.1. Connection is well tested by XrmTooling to connect.
Error Details:
The application terminated with an error.
Metadata contains a reference that cannot be resolved:
'https://disco.https//**********.crm4.dynamics.com/XRMServices/2011/Discovery.svc?wsdl&sdkversion=8.2'

Microsoft has removed support for TLS 1.0/1.1 in D365 9.0.
Update to the latest version of spkl (this was fixed in 1.0.198)

Related

Dynamics CRM 2016 On-Prem Plugin - Exception: Could not load file or assembly 'Microsoft.IdentityModel.Clients.ActiveDirectory'

I have a Dynamics CRM 2016 On-Prem plugin, it connects to an ASP.Net web api endpoint secured with Azure AD. Thus I use the library Microsoft.IdentityModel.Clients.ActiveDirectory
However when I deploy the plugin, it fails to run on Dynamics CRM with the error:
Exception: System.IO.FileNotFoundException: Could not load file or assembly 'Microsoft.IdentityModel.Clients.ActiveDirectory, Version=5.2.7.0
Originally I thought this was available when installing Windows Identity Foundation (WIF) on the Dynamics CRM servers. Perhaps I have mis-understood this.
I next tried to use ILmerge. I already use ILmerge for Newtonsoft JSON assembly and that works fine, but as soon as I add Microsoft.IdentityModel.Clients.ActiveDirectory the plugin assembly no longer registers and it fails with:
Unable to publish the project: Exception: Microsoft.Crm.CrmException: GetAssemblyMetadata: expected mdtAssemblyRef or mdtAssembly
How can this issue be overcome?

crm 2011 RU18 on prem with encrypted comms to sql server using TLS?

CRM 2011 RU18 on prem. On the data SQL server, my DBAs want to enable
TLS1.2 or TLS 1.1 security protocol (TLS1.2 is preferable)…If TLS1.2 is enabled, TLS1.1/TLS1.0/ SSL3.0/ SSL2.0 will be disabled. If TLS1.1 is enabled, TLS1.0/ SSL3.0/ SSL2.0 will be disabled
Encrypted connections (to encrypt network traffic from app/ web servers to database server)
This is not my area of expertise. Can anyone advise if this is even possible with this app and if so point me in the right direction?
Microsoft started enforcing TLS 1.2 recently with Dynamics 365 v9. They also broadcasted a big warning that every connection tools must be upgraded. Meaning old binaries don't support it. I would stay with TLS 1.0.
The Microsoft tools and platforms though v8 have been based on .net
4.5.2, which defaults to TLS 1.0 for security. What this means is that CRM and Dynamics Tools shipped up through v8 will not seamlessly
connect to v9. When this shows up it always manifests as an auth
failure.
Here's some relevant documentation about the matter:
How to fix TLS 1.2 error with Dynamics 365:
https://www.crminnovation.com/blog/tls-transport-layer-security-wake-call/
Transport Layer Security (TLS) 1.2 Connectivity Requirements for Dynamics 365 (Online), V9:
https://community.dynamics.com/365/financeandoperations/b/arbelatechnologiesblog/archive/2018/02/25/transport-layer-security-tls-1-2-connectivity-requirements-for-dynamics-365-online-v9
This from Microsoft after opening a ticket
From the following we understand that the latest version of the .NET framework which CRM 2011 is compatible with is .NET 4.5.2. We also assume that your server infrastructure is running on Server 2012 or lower as CRM 2011 is not compatible with Server 2012 R2 or higher.
https://support.microsoft.com/en-za/help/3005163/compatibility-with-microsoft-dynamics-crm-2011
This brings us to conclude a couple things. Based on the following article. It certainly is possible to enable TLS 1.1 and 1.2 (this answers your 'How?' question).
https://support.microsoft.com/en-us/help/3140245/update-to-enable-tls-1-1-and-tls-1-2-as-a-default-secure-protocols-in
Another consideration is the browser and OS compatibility of your clients for enabling these protocols. Below is a good reference for this:
https://www.applicationstation.com/home/CompatibilityGuidelines.pdf
We do know that this has never been fully tested for CRM 2011 as the protocol release was after our product release. With this in mind, the configuration is technically not supported, but it is entirely possible that they can be enabled without problem. We would, at a minimum, recommend full testing of any scenario enabling these protocol against a CRM 2011 environment before deploying it to production.

Metadata contains a reference that cannot be resolved: Dynamics CRM 9.0 Organization Service

We just received an update to Dynamics CRM 9.0, but it seems like a get a unresolved reference when I try to programmatically access the Organization Service Endpoint.
The Uri I am using for this CRM online instance is https://xxxxxxxxxxxxxtest.api.crm.dynamics.com/XRMServices/2011/Organization.svc?wsdl&sdkversion=9'.
Please let me know if anything has changed that I cannot use this endpoint anymore?
Please check if the following blog article helps you. There are several different possibilities why this is happening, but with version 9, so are easily fixed:
https://community.dynamics.com/crm/b/nishantranaweblog/archive/2018/01/31/metadata-contains-a-reference-that-cannot-be-resolved-https-orgname-crm8-dynamics-com-xrmservices-2011-organization-svc-wsdl-amp-sdkversion-9-error-in-dynamics-365
Hope this helps.
The OData URL is
https://[ORGNAME].crm.dynamics.com/XRMServices/2011/OrganizationData.svc/[EntitySet]
The Organization URL is
https://[ORGNAME].api.crm.dynamics.com/XRMServices/2011/Organization.svc
(Double check the info by going under Settings -> Customizations -> Developer Resources)
2011 aka soap endpoints are deprecated, which means will be retired anytime. So you don’t have much time, earlier is better to convert to Web Api.
Beginning with the Dynamics 365 (8.0) release, a new OData 4 endpoint was added to the Dynamics 365 application stack. This endpoint is known as the Web API. The Web API provides a development experience that can be used across a wide variety of programming languages, platforms, and devices. The Web API is intended to replace the CRM 2011 endpoint, also known as the SOAP endpoint, for accessing the Dynamics 365 organization web service and other provided web services.
As of the release of Microsoft Dynamics CRM Online 2016 Update 1 and Microsoft Dynamics CRM 2016 Service Pack 1 (8.1.0), the CRM 2011 endpoint has been deprecated. The 2011 endpoint will be removed some time after the release of Dynamics 365 version 9. We plan to provide updates to the Dynamics 365 SDK assemblies and tools over the next several minor releases, retargeting them to use the Web API instead of the 2011 endpoint.
Till then check if TLS 1.2 is the issue like discussed here.
Check, please, that option "Don't use proxy server for local (intranet) address" off on Proxy tab in Network settings

Installing and Configuring Microsoft Dynamics CRM 2015 On-Premise and Accessing it Externally

What are the things to consider/needed when Installing and configuring Microsoft Dynamics CRM 2015 on-premise and accessing it externally?
Thanks in advance.
Should you want to expose your on-premise address to the internet( if this is what you mean by 'externally') - you'll have to look into IFD - Internet Facing deployment.
Step-by-Step instructions
You will have to setup ADFS and configure DNS with a binding certificate. This will allow for claims based authentication to your on-premise crm.

Accessing on premise MS Dynamics 3.0

I am working on MS Dynamics and using CRM SDK to access the entities of dynamics. Code is running fine when I enter the credentials of Dynamics CRM online. I am stuck in a case in which other organization has desktop version of Dynamics CRM ie. 3.0 and they have let me to access their CRM via VPN because they have installed Dynamics CRM on their local network. I want to access the data as I need to import the data in other database as per requirement. but code is not authenticating the credentials . May be something is going wrong when there creates a discovery URL or something else.
How can I resolve it ?

Resources