Route Message (CrmService)

banner art

[Applies to: Microsoft Dynamics CRM 4.0]

Find the latest SDK documentation: CRM 2015 SDK

Works for all deployment types Works online and offline

Moves an entity instance from one queue to another.

The relevant classes are specified in the following table.

Type Class
Request RouteRequest
Response RouteResponse
Target TargetQueued
Entity See the following table.

The following table shows the entities and target classes for this message.

Entity Target Class
appointment TargetQueuedAppointment
campaignactivity TargetQueuedCampaignActivity
campaignresponse TargetQueuedCampaignResponse
email TargetQueuedEmail
fax TargetQueuedFax
incident TargetQueuedIncident
letter TargetQueuedLetter
phonecall TargetQueuedPhoneCall
serviceappointment TargetQueuedServiceAppointment
task TargetQueuedTask

Remarks

To use this message, pass an instance of the RouteRequest class as the request parameter in the Execute method.

There are three types of routing behavior as shown in the following table.

Route type Description
User Routes the entity instance to the queue belonging to a user. The field EndpointId must be the ID of a user.
Queue Routes the entity instance to a specific queue. The field EndpointId must be the ID of a queue.
Auto Performs automatic routing using workflow. The field EndpointId is ignored. The field SourceQueueId specifies the ID of the queue that contains the entity instance specified in the Target field.

To perform this action, the caller must have access rights on the entity instance specified in the request class. For a list of required privileges, see Route Privileges.

Example

The following code example shows how to use the Route message.

[C#]
// Set up the CRM service.
CrmAuthenticationToken token = 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";
 
CrmService service = new CrmService();
service.Url = "http://<servername>:<port>/mscrmservices/2007/crmservice.asmx";
service.CrmAuthenticationTokenValue = token;
service.Credentials = System.Net.CredentialCache.DefaultCredentials;


// Create the target object for the request.
TargetQueuedAppointment target = new TargetQueuedAppointment();
// EntityId is the GUID of the appointment being routed.
target.EntityId = new Guid("7E91958D-C8A1-404C-AC2C-9C474FB2427B");

// Create the request object.
RouteRequest route = new RouteRequest();

// Set the properties of the request object.
route.Target = target;

// EndPointId is the GUID of the queue or user the appointment is being routed to.
// The queue cannot be a work in progress queue.
route.EndPointId = new Guid("44E05740-607B-47AA-ABD6-13A007E2DD85");

// RouteType indicates the EntityType of the endpoint.
route.RouteType = RouteType.Queue;

// SourceQueueId is the GUID of the queue that the appointment is coming from.
route.SourceQueueId = new Guid("BD0C1BDD-3310-4ECA-B2B1-131C2F5ED1B2");

// Execute the request.
RouteResponse routed = (RouteResponse)service.Execute(route);

[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"
 
Dim service As New CrmService()
service.Url = "http://<servername>:<port>/mscrmservices/2007/crmservice.asmx"
service.CrmAuthenticationTokenValue = token
service.Credentials = System.Net.CredentialCache.DefaultCredentials

' Create the target object for the request.
Dim target As New TargetQueuedAppointment()
' EntityId is the GUID of the appointment being routed.
target.EntityId = New Guid("7E91958D-C8A1-404C-AC2C-9C474FB2427B")

' Create the request object.
Dim route As New RouteRequest()

' Set the properties of the request object.
route.Target = target

' EndPointId is the GUID of the queue or user the appointment is being routed to.
' The queue cannot be a work in progress queue.
route.EndPointId = New Guid("44E05740-607B-47AA-ABD6-13A007E2DD85")

' RouteType indicates the EntityType of the endpoint.
route.RouteType = RouteType.Queue

' SourceQueueId is the GUID of the queue the appointment is coming from.
route.SourceQueueId = New Guid("BD0C1BDD-3310-4ECA-B2B1-131C2F5ED1B2")
' Execute the Request
Dim routed As RouteResponse = CType(service.Execute(route), RouteResponse)

See Also

Concepts

Reference

Tasks

© 2010 Microsoft Corporation. All rights reserved.