RetrieveRelationship Message (MetadataService)
![]() |
[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 relationship.
The relevant classes are specified in the following table.
| Type | Class |
| Request | RetrieveRelationshipRequest |
| Response | RetrieveRelationshipResponse |
Remarks
To perform this action, the caller must be a user in the organization for which metadata is requested and must have Read Relationship privilege.
Example
The following example shows how to use the RetrieveRelationship message.
[C#]
// 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.
RetrieveRelationshipRequest relationshipRequest = new RetrieveRelationshipRequest();
// This is a built-in Microsoft Dynamics CRM relationship.
relationshipRequest.Name = "Contact_Tasks";
// Retrieve only the currently published changes, ignoring the changes that have
// not been published.
relationshipRequest.RetrieveAsIfPublished = false;
// Execute the request.
RetrieveRelationshipResponse relationshipResponse = (RetrieveRelationshipResponse)metadataService.Execute(relationshipRequest);
// Access the retrieved relationship.
OneToManyMetadata retrievedRelationship = (OneToManyMetadata)relationshipResponse.RelationshipMetadata;
[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 relationshipRequest As New RetrieveRelationshipRequest()
' This is a built-in Microsoft CRM relationship.
relationshipRequest.Name = "Contact_Tasks"
relationshipRequest.RetrieveAsIfPublished = True
' Execute the request.
Dim relationshipResponse As RetrieveRelationshipResponse = CType(metadataService.Execute(relationshipRequest), RetrieveRelationshipResponse)
' Access the retrieved relationship.
Dim retrievedRelationship As OneToManyMetadata = CType(relationshipResponse.RelationshipMetadata, OneToManyMetadata)
See Also
Concepts
Reference
.gif)