2009-03-30 13 views
1

J'ai une orchestration de travail en place pour traiter les messages X12. Maintenant, j'ai besoin d'exposer l'orchestration comme un service web (ASMX) qui accepte une entrée de texte (le message X12) et renvoie la réponse de texte (la réponse X12). Si j'essaie d'utiliser l'assistant, le service web généré exposera la représentation XML interne de la requête X12 et non la représentation en texte brut d'origine. En résumé, je souhaite pouvoir me connecter à un service Web (ASMX et non un service WCF), envoyer une requête X12 (texte brut) et obtenir la réponse appropriée (également en texte brut).BizTalk 2006 R2 EDI

J'ai vu des exemples de ceci en utilisant WCF, mais aucun avec un webservice simple. Pouvez-vous me donner un coup de main avec ça?

Merci!

Répondre

1

Une solution possible serait de créer un gestionnaire SOAP pour convertir le texte brut en représentation xml (afin que BizTalk puisse le lire) et vice-versa. Bien que je ne l'ai pas essayé moi-même, cela pourrait fonctionner. Vous devez créer un gestionnaire pour la demande et un autre pour que la réponse intercepte la chaîne et la convertisse dans le schéma xml et y retourne. Vous pouvez également utiliser un document XML générique au lieu d'une chaîne, ce qui peut être plus simple. Consultez ce post:

http://blogs.msdn.com/richardbpi/archive/2006/11/10/exposing-biztalk-web-services-that-accept-generic-content.aspx

-Bryan

1

Bien que je ne l'ai pas essayé, j'ai un sentiment que vous ne serez pas en mesure de le faire sans un certain degré de codage personnalisé dans le pipeline. Lorsque vous publiez le service Web à l'aide de l'Assistant, BizTalk prend les schémas impliqués et les utilise comme types pour le service Web, cela a du sens dans presque tous les cas, mais pas dans le vôtre. Cependant, autant que je sache, il n'y a pas de bonne façon de prendre et de message EDI sur SOAP; Vous pouvez créer votre service Web pour accepter un message de chaîne et demander au client de savoir qu'il doit être X12, mais il n'y a aucun moyen de le décrire dans le fichier WSDL. Si vous le faites, cependant, vous obtiendrez le message X12 dans le pipeline, enveloppé dans un élément (ou quelque chose comme ça, selon la façon dont vous avez modifié votre service Web), avant d'arriver au désassembleur et à l'orchestration, vous devrez avoir du code pour l'enlever, mais cela devrait être relativement facile à écrire.

0

Je traduirais aussi mon fichier x12 260 en SOAP Webservice. quelles sont la meilleure façon ... iam convertir en XML & envoi à SOAP ... mais ici un problème est que je reçois seulement 3 xml qui a seulement des détails de transaction dans ce fichier .... où sont mon en-tête & Trailers gone :(

Toute personne confrontée à ce problème