J'ai 2 orchestrations dans mon projet et 2 schémas (le premier pour les requêtes, le second pour les réponses). Orchestration 1
a une Receive
(Activating=true). Il reçoit une requête et l'achemine vers Orchestration 2
. Ce dernier construit une requête vers un service web, qui répond, attend 2 minutes et envoie ensuite une nouvelle requête à mon service BizTalk. Les deux projets utilisent les mêmes schémas, un Request
et un Response
schémas.
Orchestration 2
utilise un ensemble de corrélations qui est initialisé dans un Send
qui envoie une requête au service web. En outre, il est possible d'utiliser le service web, Orchestration 2
a une Receive
en attente d'un message dont la corrélation a été définie précédemment dans la rubrique Send
forme.
Voici le diagramme de séquence :
Et il y a le Orchestration 2
:
Send_1
y Receive_2
ont mis en place des propriétés de corrélation.
Le problème est que lorsqu'un webservice envoie la requête 2 (voir le diagramme ci-dessus) à mon service biztalk, il génère une erreur disant "Le message a trouvé plusieurs abonnements à des réponses à des demandes. Un message ne peut être acheminé que vers un seul abonnement de réponse à une demande." Comment cela est-il possible si j'ai établi la corrélation ? Je m'attendais à ce que la demande 2 soit acheminée vers le serveur Orchestration 2
parce qu'il a un récepteur avec corrélation.