Send Activity Designer

The Send activity designer is used to create and configure a Send activity.

The Send Activity

A Send activity is used to send a message to a service. A ReceiveReply activity can be bound to a Send activity that receives a message as part of a request/response message exchange pattern on the client.

Using the Send Activity Designer

The Send activity designer can be found in the Messaging category of the Toolbox, which is accessed by clicking the Toolbox tab in Workflow Designer (Alternatively, select Toolbar from the View menu or CTRL+ALT+X.)

The Send activity designer can be dragged from the Toolbox and dropped on to the Workflow Designer surface wherever activities are usually placed. This creates a Send activity with a default DisplayName of Send. The DisplayName can be edited in the header of the Send activity designer or in the DisplayName box of the property grid.

To create a ReceiveReply activity and bind it to the selected Send activity, right-click the Send activity designer, click the Create ReceiveReply item in the context menu and the ReceiveReplyForSend designer appears below the Send designer. The ReceiveReply activity is an activity that receives a message as part of a request/response message exchange pattern on the client. It can be configured with the ReceiveReplyForSend designer.

Alternatively, the SendAndReceiveReply template designer in the Messaging category of the Toolbox can be used to create a pair of pre-configured Send and ReceiveReply activities. For more information about the use of the SendAndReceiveReply and ReceiveReplyForSend templates, see the SendAndReceiveReply topic.

The Send Activity Properties

The following table shows the Send properties and describes how they are used in the designer. These properties can be edited in properties grid or on Workflow Designer surface.

Property Name Required Usage
DisplayName False The friendly name of the Send activity. The default is Send. Although the DisplayName is not strictly required, it is a best practice to use one.
OperationName True The name of the service operation called by this Send activity. This property is used to construct the default value for the Action property if the Action property is not explicitly set.
ServiceContractName True The name of the service contract that the service to be called implements.
Content False Specifies the message or parameter content to receive. It can be either a ReceiveMessageContent activity or a ReceiveParametersContent activity. Edit this property by clicking the ellipse button beside the Content field in property grid or clicking the Defineā€¦ button beside the Content label on the Receive activity designer surface. Both display the Content Definition dialog. For more information about how to use this box, see the Content Definition Dialog Box topic.
CorrelatesWith False Specifies the CorrelationHandle used to route the message to the appropriate workflow instance.

Click the ellipsis button next to the CorrelatesWith property in the properties grid to open the Expression Editor dialog box. For more information about the use of this dialog box, see the How to: Use the Expression Editor topic.
CorrelationInitializers False Specifies the collection of CorrelationInitializer objects that initialize multiple CorrelationHandle objects that configure this Send activity within the workflow. Click the ellipsis button next to the CorrelationInitializers property in the properties grid to open the Add Correlation Initializers dialog box. For more information about using this box, see the Add CorrelationInitializers Dialog Box topic.
KnownTypes False A collection of known types for the service operation to be called by this Send activity. This property should be used in conjunction with SerializerOption property set to DataContractSerializer. It is ignored if XmlSerializer is used.

Click the ellipse button beside the KnownTypes field in property grid to display the Type Collection Editor dialog with which you can add relevant types.

Click the ellipse button beside the KnownTypes field in property grid to display the Type Collection Editor dialog box with which you can add relevant types. For more information about using this box, see the Type Collection Editor Dialog Box topic.
ProtectionLevel True Specifies the ProtectionLevel for the message.

1. ProtectionLevel means authentication only.
2. ProtectionLevel means sign data to help ensure the integrity of transmitted data.
3. ProtectionLevel means encrypt and sign data to help ensure the confidentiality and integrity of transmitted data.
SerializerOption True The serializer to use for the service operation to be called by the Send activity. The default value is DataContractSerializer, which serializes and deserializes an instance of a type into an XML stream or document using a supplied data contract.
Action False Specifies the action header of the message. If it is not explicitly set, its value defaults to: https://tempuri.org/{service contract namespace}/{service contract name}/{operation name}. If specified on a Send activity, the Receive activity that receives the message must have the same value for the message to be delivered correctly.
TokenImpersonationLevel The TokenImpersonationLevel allowed for the receiver of the message. It defines security impersonation levels which govern the degree to which a server process can act on behalf of a client process.TokenImpersonationLevel indicates that an impersonation level is not assigned. TokenImpersonationLevel indicates that the server process cannot obtain identification information about the client and it cannot impersonate the client. TokenImpersonationLevel indicates that the server process can obtain information about the client, such as security identifiers and privileges, but that it cannot impersonate the client. This is useful for servers that export their own objects, for example, database products that export tables and views. Using the retrieved client-security information, the server can make access-validation decisions without being able to use other services that are using the client's security context. TokenImpersonationLevel indicates that the server process can impersonate the client's security context on its local system. The server cannot impersonate the client on remote systems. TokenImpersonationLevel indicates that the server process can impersonate the client's security context on remote systems.
Endpoint The Endpoint that the Send activity sends the message to. If this property is set the EndpointConfigurationName property should be null.
EndpointAddress The EndpointAddress to which the message is sent.
EndpointConfigurationName The name of the endpoint configuration. This property is set when you are configuring an endpoint in a configuration file. This property should be set to the name given in the <endpoint> element in your configuration file. If this property is set, the Endpoint property should be null.

See Also

InitializeCorrelation CorrelationScope ReceiveAndSendReply Receive SendAndReceiveReply TransactedReceiveScope