2009-01-28 4 views
3

Je souhaite envoyer un gros blob à partir de biztalk avec des métadonnées vers un service WCF.Activer le streaming dans Biztalk WCF Adapter

Je peux contrôler les paramètres de service et les paramètres biztalk librement, bien que je doive utiliser http pour atteindre le service. Le blob peut bien être dans la plage de gigaoctets, donc l'adaptateur WCF BizTalk simple avec BasicHttp ou WSHttp est hors de question car il sérialise le contenu du message en XML. Mon scénario actuel mettrait les métadonnées en XML dans la première partie du message multipartite biztalk et la charge utile dans une seconde partie.

Pour appeler le service, je préparerais un message WCF MessageContract pour placer les métadonnées dans l'en-tête du message et la charge utile dans le corps. Je définirais également le côté client et serveur en mode de transport "Streamed".

Ce scénario fonctionne correctement avec un client WCF "normal" mais comment puis-je configurer l'adaptateur WCF Biztalk pour faire la même chose sans jamais mettre toute la charge utile en mémoire?

Il pourrait certainement être fait avec un adaptateur auto-écrit, mais je me demande s'il y a un moyen de le faire avec l'adaptateur personnalisé WCF plus un comportement ou deux?

+0

Je suis intéressé à voir la réponse à cela aussi. :) Bonne chance! –

Répondre

1

adaptateurs WCF dans BizTalk support en continu hors des sentiers battus. Vous devez utiliser WCF-Custom pour l'activer, cependant. S'il vous plaît, voir this blog post pour plus d'informations.

+0

Yay! C'est ce que je cherchais! – TToni

0

avez-vous Biztalk 2006? car les versions précédentes du mappage de documents BizTalk se produisaient toujours en mémoire.

+0

AFAIK Biztalk 2004 n'a aucun adaptateur WCF. Je travaille actuellement avec Biztalk 2009 Beta, mais la question s'applique à l'adaptateur WCF, qui inclut également le R2 de 2006. – TToni

1

Pas une réponse complète Je suis afriad - jamais eu la chance de regarder cela, mais - dans le cas où vous n'avez pas déjà examiné cela, jetez un oeil à la carte OracleDB dans le pack adaptateur WCF. sa documentation suggère qu'il prend en charge le streaming (j'ai lu Streaming and the Oracle Database Adapter et WCF LOB Adapter SDK and BizTalk Adapter Pack) Et comme je crois que cela est basé sur l'adaptateur WCF out of the box, cela peut pointer dans la bonne direction. Fondamentalement, si le code WCF Adpater prend en charge le streaming, vous devrez probablement utiliser l'adaptateur WCF-Custom et fournir la configuration correcte yourslef (soit en utilisant l'interface utilisateur fournie ou en important la configuration à partir d'un fichier de configuration, parfois plus facile pour la configuration complexe)

Désolé pour la réponse plutôt « générique », je l'espère, il aide quelque peu

+0

Merci, le bit aout l'ODA est en fait très utile car il fournit quelques détails sur les fonctionnements internes du WCF-CustomAdapter. Cela me donne un nouvel espoir que mon scénario est en fait réalisable sans avoir à écrire un propre adaptateur à partir de zéro. – TToni