RetrieveEntity Message (MetadataService)

banner art

[Applies to: Microsoft Dynamics CRM 4.0]

Find the latest SDK documentation: CRM 2015 SDK

Works for all deployment types Works online only

Retrieves the metadata for the specified entity.

The relevant classes are specified in the following table.

Type Class
Request RetrieveEntityRequest
Response RetrieveEntityResponse


To perform this action, the caller must be a user in the organization for which metadata is requested and must have Read Attribute, Read Entity and Read Relationship privileges.


The following example shows how to use the RetrieveEntity message.

// Create an authentication token.
CrmAuthenticationToken token = new CrmAuthenticationToken();
token.OrganizationName = "AdventureWorksCycle";

// You can use enums.cs from the SDK\Helpers folder to get the enumeration for Active Directory authentication.
token.AuthenticationType = 0; 

// Create the metadata Web service;
MetadataService metadataService = new MetadataService();
metadataService.Url = "http://<servername>:<port>/MSCRMServices/2007/MetadataService.asmx";
metadataService.CrmAuthenticationTokenValue = token;
metadataService.Credentials = System.Net.CredentialCache.DefaultCredentials;
metadataService.PreAuthenticate = true;

// Create the request
RetrieveEntityRequest entityRequest = new RetrieveEntityRequest();
// Retrieve only the currently published changes, ignoring the changes that have
// not been published.
entityRequest.RetrieveAsIfPublished = false;
entityRequest.LogicalName =;
entityRequest.EntityItems = EntityItems.EntityOnly;
// Execute the request
RetrieveEntityResponse entityResponse = (RetrieveEntityResponse)metadataService.Execute(entityRequest);
// Access the retrieved entity
EntityMetadata retrievedEntityMetadata = entityResponse.EntityMetadata;

[Visual Basic .NET]
' Set up the CRM Service.
Dim token As New CrmAuthenticationToken()
' You can use enums.cs from the SDK\Helpers folder to get the enumeration for Active Directory authentication.
token.AuthenticationType = 0
token.OrganizationName = "AdventureWorksCycle";

// Create the metadata Web service.
Dim metadataService As New MetadataService ()
metadataService.Url = "http://<servername>:<port>/mscrmservices/2007/MetadataService.asmx";
metadataService.CrmAuthenticationTokenValue = token;
metadataService.Credentials = System.Net.CredentialCache.DefaultCredentials
metadataService.PreAuthenticate = true;

' Create the request.
Dim entityRequest As New RetrieveEntityRequest()
entityRequest.RetrieveAsIfPublished = True
entityRequest.LogicalName =
entityRequest.EntityItems = EntityItems.EntityOnly

' Execute the request.
Dim entityResponse As RetrieveEntityResponse = CType(metadataService.Execute(entityRequest), RetrieveEntityResponse)

' Access the retrieved entity.
Dim retrievedEntityMetadata As EntityMetadata = entityResponse.EntityMetadata

'#Region "check success"

If retrievedEntityMetadata.SchemaName <> "Contact" Then
   success = False
End If

See Also


© 2010 Microsoft Corporation. All rights reserved.