Use the Common Data Service for Apps Organization Service

The Organization service is one of two web services you can use to work with data and metadata in Common Data Service for Apps. The other is the Web API.

The organization service is optimized for use with the .NET Framework and the SDK assemblies in the Microsoft.CrmSdk.CoreAssemblies NuGet package provide the classes for the IOrganizationService interface necessary work with data and metadata using this service.

Some extension capabilities, such as plug-ins and workflow extensions, depend on the .NET Framework and classes defined in these assemblies so the organization service is the only option when using these methods to extend CDS for apps.

Organization service assemblies

It is valuable to recognize that the organization service is what defines the platform. The organization service defines the supported operations as messages. Each message has a name. These messages correspond to the events that are emitted by the event framework. More information: Event Framework

The .NET assemblies for the organization service currently use a SOAP endpoint. The assemblies were designed to closely model the underlying platform services based on IOrganizationService interface. However they are not the same components and should not be confused with one another.

The SOAP endpoint for the organization service was introduced in 2011 and we have announced that it is deprecated. This means that it will continue to work and be supported until we remove it. We have also announced that we will update the .NET SDK assemblies so that they will continue to work after the SOAP endpoint is removed. This means that there will be updated SDK assemblies available before the SOAP endpoint is removed and developers will be required to update their code to use these new assemblies at some point in the future.

Using the organization service without assemblies

It is possible for developers to use the SOAP endpoint of the organization service without using the .NET SDK assemblies, for example by creating a web service proxy using the WSDL exposed by the service, but the RESTful nature of the Web API makes it a superior alternative.