Beheben von Installationsproblemen mit dem SAP-Adapter
Die Installation des Microsoft BizTalk-Adapterpakets kopiert die Produktbinärdateien auf dem Computer und registriert die Bindungen für jeden Adapter. In diesem Abschnitt werden Verfahren zur Problembehandlung erläutert, um Installationsfehler zu beheben.
Protokollieren von Meldungen für Setupaktionen
Das BizTalk Adapter Pack-Setupprogramm führt die Standardaufgabe der Installation des BizTalk Adapter Packs aus. Darüber hinaus führt das Setup auch bestimmte benutzerdefinierte Aktionen aus, z. B. die Registrierung der Adapterbindungen. Sie können Nachrichten sowohl für die Standardaktionen als auch für benutzerdefinierte Aktionen protokollieren, die vom Setup ausgeführt werden.
Das BizTalk Adapter Pack-Setup installiert die adapterspezifischen Dateien mithilfe einer MSI.The BizTalk Adapter Pack setups install the adapter specific files using an MSI. Daher ist die Protokollierung für das Setup die standardmäßige MSI-Protokollierung.
Protokolle für die benutzerdefinierten Aktionen, die das Setupprogramm ausführt, sind unter %TEMP%\adaptersetup.log verfügbar. Wenn bei der Ablaufverfolgung zur Protokolldatei ein Fehler auftritt, sind die Ablaufverfolgungen auch im Ereignisprotokoll verfügbar.
Fehler beim Registrieren von Adapterbindungen oder Datenanbietern beim Setup
Problem
Der Microsoft BizTalk Adapter Pack-Setup-Assistent kann die Adapterbindungen oder den .NET Framework Datenanbieter für mySAP Business Suite nicht registrieren, fährt jedoch mit der Adapterinstallation fort.
Ursache
Dies kann aufgrund von Problemen mit der Installation von Windows Communication Foundation (WCF), der Installation des Microsoft Windows Communication Foundation (WCF) Branchenadapter-SDK (LOB) oder der beschädigten machine.config Datei auftreten. Die Adapterbindungen werden in die machine.config-Datei geschrieben.
Lösung
Sie sollten die SAP-Adapterbindung oder den Datenanbieter für SAP manuell registrieren.
Registrieren der Adapterbindungen oder des Datenanbieters
Navigieren Sie zur machine.config-Datei auf dem Computer. Auf einer 32-Bit-Plattform ist der machine.config beispielsweise unter <Systemlaufwerk>:\WINDOWS\Microsoft.NET\Framework\<version>\CONFIG verfügbar.
In diesem Pfad <ist version> die Version des .NET Framework.
Öffnen Sie die Datei in einem Text-Editor.
So registrieren Sie die SAP-Adapterbindung:
Suchen Sie nach dem Element "system.serviceModel", und fügen Sie Folgendes darunter hinzu:
<client> <endpoint binding="sapBinding" contract="IMetadataExchange" name="sap" /> </client>
Suchen Sie unter system.serviceModel\extensions nach dem Element "bindingElementExtensions".
Suchen Sie nach der fehlenden SAP-Adapterbindung. Fügen Sie den folgenden Abschnitt unter dem Knoten "bindingElementExtensions" hinzu.
Fügen Sie für den SAP-Adapter Folgendes hinzu:
<add name="sapAdapter" type="Microsoft.Adapters.SAP.SAPAdapterExtensionElement,Microsoft.Adapters.SAP, Version=<version>, Culture=neutral, PublicKeyToken=<public key>" />
Suchen Sie unter system.serviceModel\extensions nach dem Element "bindingExtensions".
Suchen Sie nach der fehlenden SAP-Adapterbindung. Fügen Sie den folgenden Abschnitt unter dem Knoten "bindingExtensions" hinzu.
Fügen Sie für den SAP-Adapter Folgendes hinzu:
<add name="sapBinding" type="Microsoft.Adapters.SAP.SAPAdapterBindingSection,Microsoft.Adapters.SAP, Version=<version>, Culture=neutral, PublicKeyToken=<public key>" />
Hinweis
Informationen zum Ermitteln des öffentlichen Schlüssels finden Sie unter Bestimmen des öffentlichen Schlüssels und der Version.
So registrieren Sie den Datenanbieter für SAP:
Suchen Sie unter dem Knoten "system.data" nach dem Element "DbProviderFactories".
Suchen Sie nach dem fehlenden Datenanbieter für SAP. Fügen Sie den folgenden Abschnitt unter dem Knoten "DbProviderFactories" hinzu.
Fügen Sie für Datenanbieter für SAP Folgendes hinzu:
<add name="SAPClient Data Provider" invariant="Microsoft.Data.SAPClient" description=".NET Framework Data Provider for mySAP Business Suite" type="Microsoft.Data.SAPClient.SAPClientFactory,Microsoft.Data.SAPClient, Version=<version>, Culture=neutral, PublicKeyToken=<public key>" />
Speichern und schließen Sie die Datei machine.config.
Bestimmen des öffentlichen Schlüssels und der Version
Führen Sie die folgenden Schritte aus, um den öffentlichen Schlüssel für den SAP-Adapter oder den Datenanbieter für SAP zu ermitteln.
Navigieren Sie zum Windows-Verzeichnis, in der Regel C:\WINDOWS\assembly.
Klicken Sie mit der rechten Maustaste auf die DLL, für die Sie den öffentlichen Schlüssel verwenden möchten, und wählen Sie dann Eigenschaften aus. Die folgende Tabelle enthält den Namen der DLLs für den SAP-Adapter und den Datenanbieter für SAP.
Adapter/Datenanbieter Name der DLL SAP-Adapter Microsoft.Adapters.SAP Datenanbieter für SAP Microsoft.Data.SAPClient Auf der Registerkarte Allgemein gibt der Wert für die Bezeichnung Öffentliches Schlüsseltoken den öffentlichen Schlüssel für die DLL an. Auf ähnliche Weise gibt der Wert für die Bezeichnung Version die Versionsnummer für die DLL an.
Kopieren Sie den öffentlichen Schlüssel, und klicken Sie dann auf Abbrechen.
Fehler: Keine gültigen Adapter installiert
Problem
Die Verwendung des Visual Studio-Plug-Ins Add Adapter Service Reference oder des BizTalk Project Add-Ins Consume Adapter Service aus Visual Studio auf einem 64-Bit-Computer, auf dem die 64-Bit-Version des BizTalk-Adapterpakets ausgeführt wird, führt zu folgendem Fehler:
No valid adapters are installed on this machine
Ursache
Der SAP-Adapter ist eine benutzerdefinierte WCF-Bindung, die unter System.ServiceModel in der machine.config-Datei registriert ist. Eine 64-Bit-Plattform verfügt über zwei machine.config Dateien, eine, die von den 32-Bit-Anwendungen und die andere von den 64-Bit-Anwendungen verwendet wird. Wenn Sie also die 64-Bit-Version des BizTalk-Adapterpakets installieren, registriert der Setup-Assistent die Bindungen in der 64-Bit-Version der machine.config-Datei. Visual Studio wird jedoch als 32-Bit-Prozess ausgeführt. Wenn Sie daher das Add-In Adapterdienst nutzen von Visual Studio starten, sucht das Plug-In nach den Bindungen in der 32-Bit-Version der machine.config-Datei und gibt einen Fehler aus.
Auflösung
Installieren Sie sowohl die 32-Bit- als auch die 64-Bit-Version des BizTalk-Adapterpakets auf einer 64-Bit-WCF LOB-Adapter-SDK-Installation.
Wichtig
Sie müssen nur über eine 64-Bit-WCF LOB Adapter SDK-Installation verfügen. Die parallele Installation des 32-Bit- und 64-Bit WCF LOB Adapter SDK auf einem einzelnen Computer wird nicht unterstützt.
Fügen Sie der PATH-Variablen sowohl die 32-Bit- als auch die 64-Bit-Version der Client-DLLs für den SAP-Adapter (z. B. librfc32u.dll) hinzu. Die 32-Bit-Version der DLLs muss dem Ordner C:\Windows\SysWow64 hinzugefügt werden. Die 64-Bit-Version der DLLs muss dem Ordner C:\Windows\System32 hinzugefügt werden.
Wichtig
Wenn der Adapter (32 oder 64 Bit) auf einem Computer mit einem 64-Bit-Betriebssystem ausgeführt wird und Sie den Adapter zum Schreiben einer Anwendung verwenden, sollten Sie die Anwendung auf denselben Typ (32 oder 64 Bit) wie der Adapter markieren. Außerdem muss die Version des RFC SDK (32 oder 64 Bit) mit der Version des Adapters (32 oder 64 Bit) identisch sein.
Wenn beispielsweise ein 32-Bit-Adapter auf einem Computer mit einem 64-Bit-Betriebssystem ausgeführt wird, muss die Adapterclientanwendung als 32-Bit markiert werden.
Weitere Informationen zu den SAP-Client-DLLs finden Sie unter Installieren von benutzerdefinierten RFCs für den Datenanbieter für SAP.
Ungültiger Bindungsfehler beim Konfigurieren von SAP-Adapterports
Problem
Wenn Sie versuchen, einen Port für den Adapter in BizTalk Server Verwaltungskonsole zu konfigurieren, wird die folgende Fehlermeldung angezeigt:
"Unable to create binding configuration element for editing. Check the values of the BindingType and BindingConfiguration properties.
(Microsoft.Biztalk.Adapter.Wcf.Converters.CreateBindingException) Unable to get binding type for binding extension "sapBinding".
Verify the binding extension is registered in machine.config."
Ursache
Der SAP-Adapter ist eine benutzerdefinierte WCF-Bindung, die unter System.ServiceModel in der machine.config-Datei registriert ist. Eine 64-Bit-Plattform verfügt über zwei machine.config Dateien, eine, die von den 32-Bit-Anwendungen und die andere von den 64-Bit-Anwendungen verwendet wird. Wenn Sie also die 64-Bit-Version des BizTalk-Adapterpakets installieren, registriert der Setup-Assistent die Bindungen in der 64-Bit-Version der machine.config-Datei. BizTalk Server Verwaltungskonsole wird jedoch als 32-Bit-Prozess ausgeführt. Daher wird beim Konfigurieren eines Ports für den Adapter nach den Bindungen in der 32-Bit-Version der machine.config-Datei gesucht und ein Fehler angezeigt.
Auflösung
Installieren Sie sowohl die 32-Bit- als auch die 64-Bit-Version des BizTalk-Adapterpakets auf einer 64-Bit-WCF LOB-Adapter-SDK-Installation.
Wichtig
Sie müssen nur über eine 64-Bit-WCF LOB Adapter SDK-Installation verfügen. Die parallele Installation des 32-Bit- und 64-Bit WCF LOB Adapter SDK auf einem einzelnen Computer wird nicht unterstützt.
Fügen Sie der PATH-Variablen sowohl die 32-Bit- als auch die 64-Bit-Version der Client-DLLs für den SAP-Adapter (z. B. librfc32u.dll) hinzu. Die 32-Bit-Version der DLLs muss dem Ordner C:\Windows\SysWow64 hinzugefügt werden. Die 64-Bit-Version der DLLs muss dem Ordner C:\Windows\System32 hinzugefügt werden.
Wichtig
Wenn der Adapter (32 oder 64 Bit) auf einem Computer mit einem 64-Bit-Betriebssystem ausgeführt wird und Sie den Adapter zum Schreiben einer Anwendung verwenden, sollten Sie die Anwendung auf denselben Typ (32 oder 64 Bit) wie der Adapter markieren. Außerdem muss die Version des RFC SDK (32 oder 64 Bit) mit der Version des Adapters (32 oder 64 Bit) identisch sein.
Wenn beispielsweise ein 32-Bit-Adapter auf einem Computer mit einem 64-Bit-Betriebssystem ausgeführt wird, muss die Adapterclientanwendung als 32-Bit markiert werden.
Weitere Informationen zu den SAP-Client-DLLs finden Sie unter Installieren von benutzerdefinierten RFCs für den Datenanbieter für SAP.