Récemment, j’ai fait un traitement ou j’utilisais des multi-part messages et je me suis heurté à ce type d’erreur.
Inner exception: Multi-part message ‘msgMessages2’ has body part ‘Message1’, expected body part ‘Message2’
J’ai une premiere orchestration qui émet un multi-part avec 3 messages (message1,message2,message3) et une deuxieme qui souscrit. Le message 1 correspond au body-part.
En regardant la définition des deux multi-part messages (en admettant que nous ne sommes pas dans le même projet), je n’ai vu aucune différence. Puis sur le net, j’ai trouvé le billet suivant :
http://www.stottcreations.com/blog/inner-exception-multi-part-message-has-body-part-bodysegments-expected-body-part-mshsegment/
Effectivement, si on définit pas les parts du messages dans le même ordre. Il y a une erreur de ce type.
Voici par exemple la définition de deux multi-part messages :
Dans le deuxième j’ai crée le message2 en premier ensuite le message1 et message2. J’ai ensuite changé le IsbodyPart de la part message1 a true afin d’avoir un Multi-Part Message identique. En apparence, il est identique car dans Visual studio les parts sont inscrit par ordre alphabétique mais durant le process, on a une belle erreur.
La seule solution : Supprimer le multi-part message et le recréer en utilisant toujours le même ordre.(J’ai ensuite changé les part 2 et 3, le message n’est plus en erreur mais les parts ne sont pas correct dans le bon sens, il se fie au nom du part et pas au namespace)
Apparement cela se produit seulement dans les orchestrations car les pipelines sont capables de traiter les messages correctement