Aufrufen von RFCs in SAP mithilfe von BizTalk Server
Der SAP-Adapter stellt die von einem SAP-System verfügbar gemachten RFCs als Vorgänge dar, die von einem Adapterclient aufgerufen werden können. Dieser Abschnitt enthält Anweisungen zum Aufrufen eines RFC in einem SAP-System mithilfe des SAP-Adapters mit Microsoft BizTalk Server. Weitere Informationen dazu, wie der SAP-Adapter das Aufrufen eines RFC in einem SAP-System unterstützt, finden Sie unter Vorgänge in RFCs in SAP. Weitere Informationen zur Struktur der SOAP-Nachricht zum Aufrufen eines RFC finden Sie unter Nachrichtenschemas für RFC-Vorgänge.
Aufrufen eines RFC in einem SAP-System
Das Ausführen eines Vorgangs auf einem SAP-System mithilfe des SAP-Adapters mit BizTalk Server umfasst prozedurale Aufgaben, die unter Bausteine zum Erstellen von SAP-Anwendungen beschrieben sind. Um einen RFC in einem SAP-System aufzurufen, lauten die folgenden Aufgaben:
Erstellen Sie ein BizTalk-Projekt, und generieren Sie ein Schema für den RFC, den Sie im SAP-System aufrufen möchten.
Erstellen Sie Nachrichten im BizTalk-Projekt zum Senden und Empfangen von Nachrichten aus dem SAP-System.
Erstellen Sie eine Orchestrierung, um einen RFC im SAP-System aufzurufen.
Erstellen sie das BizTalk-Projekt, und stellen Sie es bereit.
Konfigurieren Sie die BizTalk-Anwendung, indem Sie physische Sende- und Empfangsports erstellen.
Starten Sie die BizTalk-Anwendung.
Dieses Thema enthält Anweisungen zum Ausführen dieser Aufgaben.
Generieren eines Schemas
In diesem Thema wird das Schema für RFC_CUSTOMER_GET generiert, um zu veranschaulichen, wie ein RFC in einem SAP-System aufgerufen wird. Weitere Informationen zum Generieren eines Schemas finden Sie unter Durchsuchen, Suchen und Abrufen von Metadaten für RFC-Vorgänge in SAP .
Definieren von Nachrichten und Nachrichtentypen
Das Schema, das Sie zuvor generiert haben, beschreibt die "Typen", die für die Nachrichten in der Orchestrierung erforderlich sind. Eine Nachricht ist in der Regel eine Variable, deren Typ durch das entsprechende Schema definiert wird. Sie müssen das von Ihnen generierte Schema mit den Nachrichten aus der Orchestrierungsansicht des BizTalk-Projekts verknüpfen.
Für dieses Thema müssen Sie zwei Nachrichten erstellen– eine, um eine Anforderung an das SAP-System zu senden, und die andere, um eine Antwort zu erhalten.
Führen Sie die folgenden Schritte aus, um Nachrichten zu erstellen und mit dem Schema zu verknüpfen.
So erstellen Sie Nachrichten und Verknüpfen mit dem Schema
Öffnen Sie die Orchestrierungsansicht des BizTalk-Projekts, falls noch nicht geöffnet. Klicken Sie auf Ansicht, zeigen Sie auf Andere Fenster, und klicken Sie auf Orchestrierungsansicht.
Klicken Sie in der Orchestrierungsansicht mit der rechten Maustaste auf Nachrichten, und klicken Sie dann auf Neue Nachricht.
Klicken Sie mit der rechten Maustaste auf die neu erstellte Nachricht, und wählen Sie Eigenschaftenfenster aus.
Gehen Sie im Bereich Eigenschaften für Message_1 wie folgt vor.
Option Aufgabe Bezeichner Geben Sie Request ein. Nachrichtentyp Erweitern Sie in der Dropdownliste Schemas, und wählen Sie InvokeRFC.SAPBindingSchema.RFC_CUSTOMER_GET aus, wobei InvokeRFC der Name Ihres BizTalk-Projekts ist. SAPBindingSchema ist das Schema, das für RFC_CUSTOMER_GET generiert wird. Wiederholen Sie den vorherigen Schritt, um eine neue Nachricht zu erstellen. Gehen Sie im Bereich Eigenschaften für die neue Nachricht wie folgt vor.
Option Aufgabe Bezeichner Geben Sie Antwort ein. Nachrichtentyp Erweitern Sie in der Dropdownliste Schemas, und wählen Sie InvokeRFC.SAPBindingSchema.RFC_CUSTOMER_GETResponse aus.
Einrichten der Orchestrierung
Sie müssen eine BizTalk-Orchestrierung erstellen, um BizTalk Server zum Aufrufen von RFCs im SAP-System zu verwenden. Bei dieser Orchestrierung legen Sie eine Anforderungsnachricht an einem definierten Empfangsspeicherort ab. Der SAP-Adapter nutzt die Nachricht und übergibt sie an das SAP-System. Die Antwort des SAP-Systems wird an einem anderen Speicherort gespeichert. Eine typische Orchestrierung zum Aufrufen von RFCs in einem SAP-System würde Folgendes umfassen:
Senden und Empfangen von Shapes, um Nachrichten an das SAP-System zu senden und Antworten zu empfangen.
Ein unidirektionale Empfangsport zum Empfangen von Anforderungsnachrichten, die an das SAP-System gesendet werden sollen.
Ein bidirektionales Sendeport zum Senden von Anforderungsnachrichten an das SAP-System und zum Empfangen von Antworten.
Ein unidirektionale Sendeport zum Senden der Antworten aus dem SAP-System an einen Ordner.
Eine Beispielorchestrierung sieht wie folgt aus:
Hinzufügen von Nachrichten-Shapes
Stellen Sie sicher, dass Sie die folgenden Eigenschaften für die einzelnen Nachrichtenformen angeben. Die in der Spalte Shape aufgeführten Namen sind die Namen der Meldungs-Shapes, wie in der vorherigen Orchestrierung angezeigt.
Form | Shape-Typ | Eigenschaften |
---|---|---|
Receive_Request | Empfangen | – Name aufReceive_Request festlegen – Legen Sie Activate auf True fest. |
Send_LOB | Send | – Name aufSend_LOB festlegen |
Receive_LOB | Empfangen | – Name aufReceive_LOB festlegen – Legen Sie Activate auf False fest. |
Send_Response | Send | – Name aufSend_Response festlegen |
Hinzufügen von Ports
Geben Sie die folgenden Eigenschaften für jeden logischen Port an. Die in der Spalte Port aufgeführten Namen sind die Namen der Ports, wie in der Orchestrierung angezeigt.
Port | Eigenschaften |
---|---|
ReceiveMsgPort | – Bezeichner auf ReceiveMsgPort festlegen – Legen Sie Type auf ReceiveMsgPortType fest. – Festlegen des Kommunikationsmusters auf Unidirektionale – Festlegen der Kommunikationsrichtung auf "Empfangen" |
SendToLOBPort | – Bezeichner auf SendToLOBPort festlegen – Legen Sie Type auf SendToLOBPortType fest. – Festlegen des Kommunikationsmusters auf Request-Response – Festlegen der Kommunikationsrichtung auf Senden/Empfangen |
SendMsgPort | – Bezeichner auf SendMsgPort festlegen – Legen Sie Type auf SendMsgPortType fest. – Festlegen des Kommunikationsmusters auf Unidirektionale – Kommunikationsrichtung auf Senden festlegen |
Angeben von Nachrichten für Aktions-Shapes und Herstellen einer Verbindung mit Ports
In der folgenden Tabelle werden die Eigenschaften und deren Werte angegeben, die festgelegt werden sollen, um Nachrichten für Aktions-Shapes anzugeben und sie mit den Ports zu verknüpfen. Die in der Spalte Shape aufgeführten Namen sind die Namen der Nachrichtenformen, die in der vorherigen Orchestrierung angezeigt werden.
Form | Eigenschaften |
---|---|
Receive_Request | - Nachricht aufAnforderung festlegen – Festlegen des Vorgangs auf ReceiveMsgPort.Operation_1.Request |
Send_LOB | - Nachricht aufAnforderung festlegen - Festlegen von Vorgang auf SendToLOBPort.Operation_1.Request |
Receive_LOB | – Nachricht aufAntwort festlegen – Festlegen von Vorgang auf SendToLOBPort.Operation_1.Response |
Send_Response | – Nachricht aufAntwort festlegen – Festlegen von Vorgang auf SendMsgPort.Operation_1.Request |
Nachdem Sie diese Eigenschaften angegeben haben, sind die Nachrichtenformen und -ports verbunden, und Die Orchestrierung ist abgeschlossen.
Sie müssen jetzt die BizTalk-Lösung erstellen und in einer BizTalk Server bereitstellen. Weitere Informationen finden Sie unter Erstellen und Ausführen von Orchestrierungen.
Konfigurieren der BizTalk-Anwendung
Nachdem Sie das BizTalk-Projekt bereitgestellt haben, wird die zuvor erstellte Orchestrierung im Bereich Orchestrierung in der BizTalk Server-Verwaltungskonsole aufgeführt. Sie müssen die BizTalk Server-Verwaltungskonsole verwenden, um die Anwendung zu konfigurieren. Weitere Informationen zum Konfigurieren einer Anwendung finden Sie unter Konfigurieren einer Anwendung.
Das Konfigurieren einer Anwendung umfasst Folgendes:
Auswählen eines Hosts für die Anwendung.
Zuordnen der Ports, die Sie in Ihrer Orchestrierung erstellt haben, zu physischen Ports in der BizTalk Server-Verwaltungskonsole. Für diese Orchestrierung müssen Sie Folgendes ausführen:
Definieren Sie einen Speicherort auf der Festplatte und einen entsprechenden Dateiport, an dem Sie eine Anforderungsnachricht ablegen. Die BizTalk-Orchestrierung nutzt die Anforderungsnachricht und sendet sie an das SAP-System.
Definieren Sie einen Speicherort auf der Festplatte und einen entsprechenden Dateiport, an dem die BizTalk-Orchestrierung die Antwortnachricht mit der Antwort aus dem SAP-System abgibt.
Definieren Sie einen physischen WCF-Custom- oder WCF-SAP-Sendeport, um Nachrichten an das SAP-System zu senden. Sie müssen auch die Aktion im Sendeport angeben. Informationen zum Erstellen von Ports finden Sie unter Manuelles Konfigurieren einer physischen Portbindung an den SAP-Adapter.
Hinweis
Beim Generieren des Schemas mithilfe des BizTalk-Projekt-Add-Ins "Verbrauchadapterdienst" wird auch eine Bindungsdatei erstellt, die Informationen zu den Ports und den Aktionen enthält, die für diese Ports festgelegt werden sollen. Sie können diese Bindungsdatei aus der BizTalk Server-Verwaltungskonsole importieren, um Sendeports (für ausgehende Anrufe) zu erstellen oder Ports (für eingehende Anrufe) zu empfangen. Weitere Informationen finden Sie unter Konfigurieren einer physischen Portbindung mithilfe einer Portbindungsdatei für SAP.
Starten der Anwendung
Sie müssen die BizTalk-Anwendung zum Aufrufen eines RFC im SAP-System starten. Anweisungen zum Starten einer BizTalk-Anwendung finden Sie unter Starten einer Orchestrierung oder Starten einer Anwendung.
Stellen Sie in dieser Phase Folgendes sicher:
Der FILE-Empfangsport zum Empfangen von Anforderungsmeldungen für die Orchestrierung wird ausgeführt.
Der FILE-Sendeport zum Empfangen der Antwortnachrichten von der Orchestrierung wird ausgeführt.
Der WCF-Custom- oder WCF-SAP-Sendeport zum Senden von Nachrichten an das SAP-System wird ausgeführt.
Die BizTalk-Orchestrierung für den Vorgang wird ausgeführt.
Ausführen des Vorgangs
Nachdem Sie die Anwendung ausgeführt haben, müssen Sie eine Anforderungsnachricht für die Orchestrierung an einem vordefinierten Speicherort ablegen. Informationen zum Schema für die Anforderungsnachricht zum Aufrufen eines RFC in einem SAP-System finden Sie unter Nachrichtenschemas für RFC-Vorgänge . Beispielsweise lautet die Anforderungsmeldung zum Aufrufen RFC_CUSTOMER_GET:
<RFC_CUSTOMER_GET xmlns="http://Microsoft.LobServices.Sap/2007/03/Rfc/">
<KUNNR>0000001390</KUNNR>
<NAME1>*</NAME1>
<CUSTOMER_T/>
</RFC_CUSTOMER_GET>
Die Orchestrierung nutzt die Nachricht und sendet sie an das SAP-System. Die Antwort aus dem SAP-System wird an einem anderen Speicherort gespeichert, der als Teil der Orchestrierung definiert ist. Die Antwort des SAP-Systems auf die obige Anforderungsnachricht lautet beispielsweise:
<?xml version="1.0" encoding="utf-8" ?>
<RFC_CUSTOMER_GETResponse xmlns="http://Microsoft.LobServices.Sap/2007/03/Rfc/">
<CUSTOMER_T>
<RFCCUST xmlns="http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/">
<KUNNR>0000001390</KUNNR>
<ANRED>Firma</ANRED>
<NAME1>Contoso, Ltd.</NAME1>
<PFACH />
<STRAS>4567 Main Street</STRAS>
<PSTLZ>98052</PSTLZ>
<ORT01>USA</ORT01>
<TELF1>555-0101</TELF1>
<TELFX>555-0102</TELFX>
</RFCCUST>
</CUSTOMER_T>
</RFC_CUSTOMER_GETResponse>
Mögliche Ausnahmen
Informationen zu den Ausnahmen, die beim Aufrufen eines RFC in einem SAP-System mit BizTalk Server auftreten können, finden Sie unter Ausnahmen und Fehlerbehandlung mit dem SAP-Adapter.
Bewährte Methoden
Nachdem Sie das BizTalk-Projekt bereitgestellt und konfiguriert haben, können Sie Konfigurationseinstellungen in eine XML-Datei namens bindungsdatei exportieren. Nachdem Sie eine Bindungsdatei generiert haben, können Sie die Konfigurationseinstellungen aus der Datei importieren, sodass Sie nicht die Sendeports, Empfangsports usw. für dieselbe Orchestrierung erstellen müssen. Weitere Informationen zu Bindungsdateien finden Sie unter Wiederverwenden von SAP-Adapterbindungen.