2009-06-02 14 views
0

Je cherche à utiliser MsmqIntegrationBinding pour intégrer à une file d'attente héritée qui a un objet sérialisé comme le corps du message. Quelqu'un at-il trouvé un moyen d'obtenir les "métadonnées" du corps du message et créer une classe de service à utiliser dans le service? Par exemple, si je mets un objet Produit sérialisé du système A et que mon service doit le consommer, comment puis-je fournir le type MsmqMessage si je n'ai pas la classe Product de mon côté? Je pensais lire un message dans un programme séparé, désérialiser, puis émettre via le code dom. Des idées?Sérialisation MsmqIntegrationBinding avec des types de corps de message inconnus

Répondre

0

Je recommande vivement contre essayant d'émettre le type désérialisé lors de l'exécution dans la destination du message. Utilisez le code XML à la destination pour obtenir les données souhaitées ou créez des contrats de données auxquels la source et la destination peuvent adhérer.

0

Hmm ... dans WCF, vous pouvez définir des méthodes de service qui prennent (et renvoient facultativement) un type Message non typé. Cela semble bien convenir à votre projet de loi.

À part les messages fortement typés, vous devrez faire tout le montage du message sur le client et le démonter sur le serveur en lisant le XML brut - mais cela semble être ce que vous voulez. re recherche, non?

Plus d'informations et des exemples ici:

messages non typées ont des restrictions, par exemple vous ne pouvez les lire qu'une seule fois sur le serveur, mais vous devriez être capable de gérer votre scénario avec ceci, je pense.

Marc

Questions connexes