Configuration de la forme Envoi
Forme Envoi
Si vous vous attendez à recevoir une réponse indirecte ou asynchrone au message envoyé (sans passer par un port de requête-réponse), vous devez mettre le message en corrélation avec l'instance d'orchestration en cours d'exécution, afin que la réponse puisse être dirigée vers l'instance appropriée. Vous pouvez appliquer un jeu de corrélations suivant à la forme Envoyer pour une corrélation précédemment initialisée, ou vous pouvez appliquer un jeu de corrélations d’initialisation. Pour plus d’informations, consultez Utilisation de corrélations dans les orchestrations.
Pour configurer une forme Envoi
Définissez un message et une opération de port.
Dans la fenêtre Vue Orchestration, vérifiez que votre orchestration comporte à la fois un message et une opération de port définis pour le type de message à parties multiples envoyé.
Dans le Fenêtre Propriétés, sélectionnez le message à envoyer dans la liste déroulante Propriété message.
Dans le Fenêtre Propriétés, sélectionnez l’opération de port qui envoie le message dans la liste déroulante Opération de port.
—Ou—
Faites glisser le connecteur d’envoi de la forme Envoyer vers le socket de port qui envoie le message.
Spécifiez des jeux de corrélation pour restreindre les messages que la forme d’envoi enverra ou pour initialiser les valeurs dans un jeu de corrélations.
Pour chaque jeu de corrélations que vous souhaitez utiliser, case activée un jeu de corrélations à partir de la liste déroulante de la propriété Jeux de corrélations suivants.
Pour chaque jeu de corrélations que vous souhaitez initialiser, case activée un jeu de corrélations à partir de la liste déroulante de la propriété Initializing Correlation Sets.
Accusé de réception
Pour vérifier qu'un message a été envoyé correctement sur un port d'envoi, procédez selon les étapes suivantes :
Placez votre forme Envoi dans une étendue non transactionnelle, à long terme ou atomique.
Sur votre port d’envoi, définissez la propriété DeliveryNotification sur Transmis.
Ajoutez un gestionnaire catch à votre étendue pour gérer une exception DeliveryFailureException.
Notes
Si la forme d’envoi est contenue dans une étendue atomique, l’exception DeliveryFailureException peut toujours être interceptée, mais nécessite l’ajout d’une forme d’étendue externe avec un type de transaction défini sur Long Running ou None. Les étendues atomiques ne sont pas en mesure d’intercepter les exceptions directement.
L’orchestration attend l’accusé de réception à la fin de l'étendue non atomique associée, ou à la fin de l'orchestration, pour recevoir l’accusé de réception.
Notes
Cela s'applique uniquement aux opérations unidirectionnelles ; un échec dans une opération bidirectionnelle (requête-réponse) donne lieu à une exception SoapException (accusé de réception négatif) même sans qu'un attribut de port ne soit défini.
Notes
L'accusé de réception n'est pas pris en charge pour la liaison directe.