Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Zeit bis zum Abschluss: 10 Minuten
Objektiv: In diesem Schritt nehmen Sie die folgenden Änderungen am vorhandenen vPrev BizTalk-Projekt vor:
Generieren Sie Metadaten für den Einfügevorgang in der Tabelle "Kunde" mithilfe des WCF-basierten SQL-Adapters.
Ordnen Sie die Anforderungsmeldung zum Ausführen eines Einfügevorgangs mithilfe des vPrev SQL-Adapters einer Anforderungsmeldung für das Ausführen eines Einfügevorgangs mithilfe des WCF-basierten SQL-Adapters zu.
Ordnen Sie die empfangene Antwortnachricht mithilfe des WCF-basierten SQL-Adapters der antwortnachricht zu, die mit dem vPrev SQL-Adapter empfangen wurde.
Voraussetzungen
Sie müssen über ein vPrev BizTalk-Projekt verfügen, um einen Insert-Vorgang in der Tabelle "Kunde" in der SQL Server-Datenbank auszuführen.
So ändern Sie das vPrev BizTalk-Projekt
Generieren Sie Metadaten für den Einfügevorgang in der Tabelle "Kunde" mithilfe des WCF-basierten SQL-Adapters. Sie können das Add-In "Consume Adapter Service BizTalk Project" verwenden, um Metadaten zu generieren.
Anweisungen zum Generieren von Metadaten finden Sie unter Abrufen von Metadaten für SQL Server-Vorgänge in Visual Studio mithilfe des SQL-Adapters. Nachdem das Schema generiert wurde, wird dem BizTalk-Projekt eine Datei mit dem Namen "TableOperation.dbo.Customer.xsd " hinzugefügt. Diese Datei enthält das Schema zum Senden einer Nachricht zum Ausführen eines Einfügevorgangs in der Tabelle "Kunde" in der SQL Server-Datenbank mithilfe des WCF-basierten SQL-Adapters.
Durch das Generieren der Metadaten für den Insert-Vorgang wird auch eine Portbindungsdatei erstellt. Im nächsten Schritt wird diese Bindungsdatei verwendet, um einen WCF-Custom Sendeport zum Senden von Nachrichten an die SQL Server-Datenbank zu erstellen. Die SOAP-Aktion für den Vorgang wird auch auf den Vorgang festgelegt, für den Sie Metadaten generiert haben. Wenn Sie beispielsweise Metadaten für den Einfügevorgang generieren, lautet der Vorgangsname in der SOAP-Aktion für den Sendeport "Einfügen". Der Vorgangsname für den logischen Sendeport, den Sie als Teil der Orchestrierung erstellen, kann jedoch unterschiedlich sein, z. B. "Operation_1". Daher wird beim Senden von Nachrichten mithilfe des Sendeports eine Fehlermeldung angezeigt, wenn Sie Nachrichten an die SQL Server-Datenbank senden. Um dies zu verhindern, stellen Sie sicher, dass der Vorgangsname für den logischen Sendeport in Ihrer Orchestrierung mit dem Vorgangsnamen identisch ist, für den Sie Metadaten generiert haben.
Wenn Sie also in diesem Lernprogramm Metadaten für den Einfügevorgang generieren, ändern Sie den Namen des logischen Sendeportvorgangs in "Einfügen".
Ordnen Sie für die Anforderungsnachricht das mithilfe des vPrev SQL-Datenbankadapters generierte Schema dem Schema zu, das mit dem WCF-basierten SQL-Adapter generiert wurde.
Fügen Sie dem BizTalk-Projekt einen BizTalk Mapper hinzu. Klicken Sie mit der rechten Maustaste auf das BizTalk-Projekt, zeigen Sie auf "Hinzufügen", und klicken Sie dann auf "Neues Element".
Wählen Sie im Dialogfeld Neues Element hinzufügen in der linken Spalte Karten-Dateien aus. Wählen Sie im rechten Bereich die Option "Karte" aus. Geben Sie einen Namen für die Karte an, z. B. RequestMap.btm. Klicken Sie auf Hinzufügen.
Klicken Sie im Bereich "Quellschema" auf "Quellschema öffnen".
Erweitern Sie im Dialogfeld " BizTalk-Typauswahl " den Projektnamen, erweitern Sie Schemas, und wählen Sie dann das Schema für die Anforderungsmeldung für den vPrev SQL-Adapter aus. Wählen Sie in diesem Lernprogramm New_Migration.InsertCustomerService aus, und klicken Sie dann auf OK.
Wählen Sie im Dialogfeld "Stammknoten für Quellschema " die Option "Einfügen" aus, und klicken Sie dann auf "OK".
Klicken Sie im Bereich "Zielschema öffnen" auf " Zielschema öffnen".
Erweitern Sie im Dialogfeld " BizTalk-Typauswahl " den Projektnamen, erweitern Sie Schemas, und wählen Sie dann das Schema für die Anforderungsmeldung für den WCF-basierten SQL-Adapter aus. Wählen Sie für dieses Tutorial New_Migration.TableOperation.dbo.Customer aus, und klicken Sie dann auf OK.
Wählen Sie im Dialogfeld "Stammknoten für Zielschema " "Einfügen" aus, und klicken Sie dann auf "OK".
Ordnen Sie die entsprechenden Elemente in beiden Schemas zu, wie in der folgenden Abbildung dargestellt.
Speichern Sie die Karte.
Ordnen Sie für die Antwortnachricht das mithilfe des vPrev SQL-Adapters generierte Schema dem Schema zu, das mit dem WCF-basierten SQL-Adapter generiert wurde.
Fügen Sie dem BizTalk-Projekt einen BizTalk Mapper hinzu. Klicken Sie mit der rechten Maustaste auf das BizTalk-Projekt, zeigen Sie auf "Hinzufügen", und klicken Sie auf "Neues Element".
Wählen Sie im Dialogfeld „Neues Element hinzufügen“ im linken Bereich die Option „Zuordnungsdateien“ aus. Wählen Sie im rechten Bereich die Option "Karte" aus. Geben Sie einen Namen für die Karte an, z. B. ResponseMap.btm, und klicken Sie dann auf "Hinzufügen".
Klicken Sie im Bereich "Quellschema" auf "Quellschema öffnen".
Erweitern Sie im Dialogfeld " BizTalk-Typauswahl " den Projektnamen, erweitern Sie Schemas, und wählen Sie dann das Schema für die Antwortnachricht für den WCF-basierten SQL-Adapter aus. Wählen Sie in diesem Lernprogramm New_Migration.TableOperation.dbo.Customer aus, und klicken Sie dann auf OK.
Wählen Sie im Dialogfeld Stammknoten für Quellschema die Option InsertResponse aus, und klicken Sie dann auf „OK“.
Klicken Sie im Bereich "Zielschema öffnen" auf " Zielschema öffnen".
Erweitern Sie im Dialogfeld " BizTalk-Typauswahl " den Projektnamen, erweitern Sie Schemas, und wählen Sie dann das Schema für die Antwortnachricht für den vPrev SQL-Adapter aus. Wählen Sie in diesem Lernprogramm New_Migration.InsertCustomerService aus, und klicken Sie dann auf OK.
Wählen Sie im Dialogfeld "Stammknoten für Zielschema""InsertResponse" aus, und klicken Sie dann auf "OK".
Sie werden einige Unterschiede zwischen den Antwortschemas für die beiden Adapter feststellen. Diese Unterschiede können wie folgt erläutert werden:
Wenn Sie mithilfe des WCF-basierten SQL-Adapters einen Datensatz in eine Tabelle einfügen, die einen Primärschlüssel enthält (und auch ein Identitätsfeld ist), gibt die Antwort für den Insert-Vorgang den Wert für das Identitätsfeld für die eingefügte Zeile zurück. Das Schema für die Antwortnachricht, die dem WCF-basierten SQL-Adapter entspricht, enthält also ein zusätzliches InsertResult-Element . Dieses Element enthält ein Array, das wiederum die Identitätsfelder für die eingefügten Zeilen enthält.
Wenn Sie mithilfe des vPrev SQL-Adapters einen Datensatz in eine Tabelle einfügen, gibt der Adapter nur ein leeres "Success"-Element als Teil der Antwortnachricht zurück.
Daher werden die Schemas so zugeordnet, dass die Antwort des WCF-basierten SQL-Adapters, der den Wert für die Identitätsfelder enthält, als Teil des Elements "Success" kopiert wird, das Teil der Antwortnachricht vom vPrev SQL-Adapter ist. Sie können das Functoid "Massenkopie" verwenden, um Elemente aus einem Schema in ein anderes zu kopieren.
Um das Functoid "Massenkopie" zu verwenden, ziehen Sie das Functoid "Massenkopie" aus der Toolbox, und legen Sie es im Mapper-Raster ab. Verbinden Sie das InsertResult-Element im Quellschema mit dem Functoid. Verbinden Sie das Success-Element im Zielschema auf ähnliche Weise mit dem Functoid. In der folgenden Abbildung wird veranschaulicht, wie die beiden Elemente über das Funktoid zugeordnet werden.
Hinweis
Weitere Informationen zum Funktoid "Massenkopie" finden Sie unter "Mass Copy Functoid".
Speichern Sie die Karte.
Speichern und erstellen Sie die BizTalk-Lösung. Klicken Sie mit der rechten Maustaste auf die Lösung, und klicken Sie dann auf " Projektmappe erstellen".
Stellen Sie die Lösung bereit. Klicken Sie mit der rechten Maustaste auf die Lösung, und klicken Sie dann auf "Lösung bereitstellen".
Nächste Schritte
Erstellen Sie einen WCF-benutzerdefinierten Sendeport, und konfigurieren Sie ihn so, dass er die in diesem Schritt erstellten Karten verwendet, wie in Schritt 2 beschrieben: Konfigurieren der Orchestrierung in der BizTalk Server-Verwaltungskonsole mithilfe des SQL-Adapters.
Siehe auch
Lernprogramm 1: Migrieren von BizTalk-Projekten zum SQL-Adapter