2009-03-30 10 views
1

Ich habe eine funktionierende Orchestrierung, um X12-Nachrichten zu verarbeiten. Jetzt muss ich die Orchestrierung als einen Webservice (ASMX) verfügbar machen, der eine Texteingabe (die X12-Nachricht) akzeptiert und die Textantwort (die X12-Antwort) zurückgibt. Wenn ich versuche, den Assistenten zu verwenden, wird der generierte Webservice die innere XML-Darstellung der X12-Anforderung und nicht die ursprüngliche Klartextdarstellung anzeigen.BizTalk 2006 R2 EDI

Kurz gesagt, ich möchte eine Verbindung zu einem Webservice (ASMX und kein WCF-Dienst) herstellen, senden Sie eine X12-Anforderung (Nur-Text) und erhalten Sie die entsprechende Antwort (auch Nur-Text).

Ich habe Beispiele dafür mit WCF gesehen, aber keine mit einem einfachen Webservice. Können Sie mir dabei helfen?

Danke!

Antwort

1

Eine mögliche Lösung wäre, einen SOAP-Handler zu erstellen, um den Nur-Text in die XML-Darstellung zu konvertieren (so dass BizTalk sie lesen kann) und wieder zurück. Während ich das selbst nicht versucht habe, könnte es funktionieren. Sie müssten einen Handler für die Anfrage und einen für die Antwort erstellen, um die Zeichenfolge abzufangen und sie in das XML-Schema und wieder zurück zu konvertieren. Sie können auch ein generisches XML-Dokument anstelle einer Zeichenfolge verwenden, die am einfachsten ist. Schauen Sie sich diesen Beitrag:

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

-Bryan

1

Während ich nicht versucht haben, ich habe das Gefühl, Sie werden nicht in der Lage zu, dass ohne ein gewisses Maß an benutzerdefinierte Codierung in der Pipeline.

Wenn Sie den Webdienst mithilfe des Assistenten veröffentlichen, übernimmt BizTalk die beteiligten Schemas und verwendet sie als Typen für den Webdienst. Dies ist in fast allen Fällen sinnvoll, in Ihrem Fall jedoch nicht.

Soweit ich weiß, gibt es jedoch keinen guten Weg, EDI-Nachricht über SOAP zu nehmen; Sie könnten Ihren Web-Service erstellen, um eine String-Nachricht zu akzeptieren und den Client "wissen" lassen, dass er X12 sein muss, aber es gibt keine Möglichkeit, dies in der WSDL zu beschreiben.

Wenn Sie dies tun würden, werden Sie jedoch die X12-Nachricht in die Pipeline, in ein Element (oder etwas Ähnliches, abhängig davon, wie Sie Ihren Web-Service geändert haben) gewickelt, bevor Sie den Disassembler erhalten und zu der Orchestrierung müssen Sie etwas Code haben, um das auszublenden, aber das sollte relativ einfach zu schreiben sein.

0

Ich würde auch meine x12 260-Datei in SOAP Webservice Übersetzen. Was ist der beste Weg ... Iam Umwandlung in XML & Senden an SOAP ... aber hier ein Problem ist, ich bekomme nur 3 xmls, die nur Transaktionsdetails in dieser Datei hat .... wo sind meine Header & Trailers weg :(

Wer vor so einer Ausgabe stand

Verwandte Themen