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.
In diesem Abschnitt wird die Verwendung von Problembehandlungstechniken zum Beheben von Betriebsfehlern erläutert, die bei verwendung von Microsoft BizTalk Adapter for mySAP Business Suite auftreten können.
Ablaufverfolgung aktivieren
Informationen zur Ablaufverfolgungsunterstützung im SAP-Adapter finden Sie unter Diagnoseablaufverfolgung und Nachrichtenprotokollierung für den SAP-Adapter.
Fehler beim Laden der Bindung
Problem
Wenn Sie versuchen, das Add-Adapter-Service-Reference Visual Studio Plug-in oder das Consume Adapter Service BizTalk Project-Add-In zu starten, gibt die GUI den folgenden Fehler:
There was an error loading the binding, <binding name>, from your system configuration.
ConfigurationErrorsException: Exception has been thrown by the target of an invocation.
Ursache
Wenn Sie das Add Adapter Service Reference Plug-In oder das Verbrauchsadapterdienst-Add-In starten, lädt Windows Communication Foundation (WCF) die Adapterbindungen für alle installierten Adapter. Die Adapterbindungen sind wiederum von der spezifischen Clientsoftware für die Unternehmensanwendung abhängig. Dieses Problem kann aus einem oder beiden der folgenden Gründe auftreten:
Die erforderliche LOB-Client-Software ist nicht auf dem Computer installiert, auf dem Sie den Adapter installiert haben.
Sie haben eine typische oder vollständige Installation des Adapters durchgeführt, die alle Adapter installiert, die im BizTalk Adapter Pack enthalten sind. Die LOB-Clientbibliotheken können jedoch möglicherweise nur für eine einzelne Unternehmensanwendung installiert werden. Daher kann die GUI die Bindungen für die anderen Adapter nicht laden.
Lösung
Stellen Sie sicher, dass Sie eine benutzerdefinierte Installation der Adapter ausführen, um nur den benötigten Adapter zu installieren.
Stellen Sie sicher, dass die erforderlichen LOB-Clientversionen auf dem Computer installiert sind, auf dem Sie das BizTalk Adapter Pack installiert haben. Unterstützte Branchensysteme führen die unterstützten Versionen auf. Das BizTalk Adapter Pack erfordert auch bestimmte DLLs für die Schnittstelle mit dem SAP-System. Weitere Informationen zu den DLLs, die vom Adapter benötigt werden, finden Sie unter Installation von benutzerdefinierten RFCs für den Datenanbieter für SAP.
Der SAP-Adapter fehlt in der BizTalk-Verwaltungskonsole.
Problem
Der in BizTalk Adapter Pack enthaltene SAP-Adapter wird nicht in der Liste der Adapter in der BizTalk Server-Verwaltungskonsole angezeigt.
Ursache
Der SAP-Adapter ist eine benutzerdefinierte WCF-Bindung. Obwohl die BizTalk Server-Verwaltungskonsole den WCF-Custom Adapter anzeigt, werden die benutzerdefinierten WCF-Bindungen nicht angezeigt. Daher wird der WCF-basierte SAP-Adapter nicht angezeigt.
Lösung
Sie können den SAP-Adapter explizit zur BizTalk Server-Verwaltungskonsole hinzufügen, indem Sie die in der BizTalk Server-Verwaltungskonsole genannten Schritte ausführen.
Fehlermeldung aufgrund fehlender DLLs beim Öffnen einer Verbindung zu SAP
Problem
Wenn Sie versuchen, eine Verbindung mit dem SAP-System mithilfe des SAP-Adapters zu öffnen, wird im SAP-System ein Dialogfeld angezeigt, das informiert, dass einige DLLs fehlen.
Ursache
Der SAP-Adapter verwendet librfc32u.dll, um eine Verbindung mit dem SAP-System herzustellen. Die librfc32u.dllwiederum benötigt eine Reihe von DLLs, um zu funktionieren. Dieser Fehler wird angezeigt, wenn diese unterstützenden DLLs nicht der PATH-Variablen auf dem Computer hinzugefügt werden, auf dem der SAP-Adapter installiert ist.
Lösung
In der bereitgestellten Tabelle finden Sie eine Lösung für den Fehler beim Laden der Adapterbindungen. In der Tabelle sind die unterstützenden DLLs aufgeführt, die für die Schnittstelle mit dem SAP-System mit dem SAP-Adapter erforderlich sind.
Fehler beim Abrufen von XML mit mehr als 65.536 Knoten
Problem
Der Adapter gibt den folgenden Fehler beim Abrufen der XML-Ausgabe mit mehr als 65.536 Knoten.
Maximum number of items that can be serialized or deserialized in an object graph is '65536'.
Change the object graph or increase the MaxItemsInObjectGraph quota.
Ursache
Der Adapter kann ein Objekt nicht mit mehr als 65.536 Elementen serialisieren und deserialisieren.
Lösung
Sie können dieses Problem beheben, indem Sie den maxItemsInObjectGraph
Parameter auf eine der folgenden beiden Arten festlegen:
Legen Sie diesen Parameter fest, indem Sie den
maxItemsInObjectGraph
Parameter imServiceBehavior
Attribut ihrer Dienstklasse ändern.Fügen Sie der app.config Datei Ihrer Anwendung Folgendes hinzu.
<behaviors> <endpointBehaviors> <behavior name="NewBehavior"> <dataContractSerializer maxItemsInObjectGraph="65536000" /> </behavior> </endpointBehaviors> </behaviors>
Ein Beispiel app.config sieht wie folgt aus.
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.serviceModel>
<behaviors>
<endpointBehaviors>
<behavior name="NewBehavior">
<dataContractSerializer maxItemsInObjectGraph="65536000" />
</behavior>
</endpointBehaviors>
</behaviors>
<client>
<endpoint behaviorConfiguration="NewBehavior" binding="sapBinding"
contract="IOutboundContract" name="sap_ICalculator" />
</client>
</system.serviceModel>
</configuration>
Fehler beim Eingeben eines Verbindungs-URI für einen WCF-Custom-Port in BizTalk Server
Problem
BizTalk Server gibt den folgenden Fehler an, wenn Sie einen Verbindungs-URI zum Herstellen einer Verbindung mit dem SAP-System angeben.
Error saving properties.
(System.ArgumentException) The specified address is invalid.
(System.ArgumentException) Invalid address;
"<connection URI>" is not a well-formed absolute uri.
Ursache
Der Verbindungs-URI entspricht nicht dem Standardcodierungsformat. Beispielsweise kann der Wert für einen Parameter ein Leerzeichen enthalten.
Lösung
Stellen Sie sicher, dass der angegebene Verbindungs-URI dem Standardcodierungsformat entspricht. Beispielsweise muss ein Leerzeichen durch "%20" ersetzt werden.
System.ArgumentNullException-Fehler beim Abschließen eines Vorgangs auf SAP
Problem
Der Adapter gibt den folgenden Fehler beim Ausführen eines Vorgangs auf dem SAP-System mit BizTalk Server.
System.ArgumentNullException: Value cannot be null.
Ursache
Die WCF-Aktion für die Nachricht ist nicht angegeben. WCF erfordert, dass für jede Operation eine SOAP-Aktion spezifiziert wird, die den Adapter darüber informiert, welche Operation auf der LOB-Anwendung ausgeführt werden soll.
Lösung
Geben Sie die SOAP-Aktion im Sendeport oder als Nachrichtenkontexteigenschaft in einer BizTalk-Orchestrierung an. Anweisungen finden Sie unter Konfigurieren der SOAP-Aktion für das SAP-System. Siehe Nachrichten- und Nachrichtenschemas , um eine Liste der Aktionen für jeden Vorgang anzuzeigen.
XmlReaderParsingException aufgrund eines fehlerhaften Vorgangsnamens in der vorgegebenen Aktion
Problem
Die BizTalk Server-Verwaltungskonsole gibt den folgenden Fehler beim Senden von Nachrichten an ein SAP-System:
Microsoft.ServiceModel.Channels.Common.XmlReaderParsingException: Invalid argument:
<BtsActionMapping xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Operation Name="<operation_name>" Action="<action>" />
</BtsActionMapping>
Ursache
Wenn Sie einen WCF-Custom Port konfigurieren, indem Sie die portbindungsdatei importieren, die vom Add-In "Verbrauchsadapterdienst BizTalk Project" erstellt wurde, wird die Aktion im Port im folgenden Format angegeben:
<BtsActionMapping>
<Operation Name="Op1" Action="http://MyService/Svc/Op1" />
</BtsActionMapping>
Im obigen Format unterliegt der Vorgangsname dem Vorgang, den Sie beim Generieren des Schemas ausgewählt haben. Wenn Sie beispielsweise ein Schema für RFC_CUSTOMER_GET generiert haben, lautet der Vorgangsname in der Aktion "RFC_CUSTOMER_GET". Der Vorgangsname im logischen Port, der in der BizTalk-Orchestrierung in Visual Studio erstellt wurde, kann jedoch unterschiedlich sein.
Lösung
Stellen Sie sicher, dass die Vorgangsnamen sowohl im logischen Port (im BizTalk-Orchestrierung in Visual Studio) als auch im physischen Port (in der BizTalk Server-Verwaltungskonsole) identisch sind.
Fehler beim Öffnen von mehr als 100 Verbindungen mit SAP
Problem
Der Adapter löst beim Öffnen von mehr als 100 Verbindungen mit dem SAP-System die folgende Ausnahme aus.
Microsoft.ServiceModel.Channels.Common.ConnectionException: ErrorCode=RFC_OK. ErrorGroup=RFC_ERROR_COMMUNICATION. SapErrorMessage=Connect to SAP gateway failed
Connect_PM GWHOST=<gw_host>, GWSERV=<gw_serv>, SYSNR=<sys_number>
LOCATION CPIC (TCP/IP) on local host with Unicode
ERROR max no of 100 conversations exceeded
Ursache
Standardmäßig aktiviert SAP nicht mehr als 100 Verbindungen mit dem System.
Lösung
Um die maximale Anzahl von Verbindungen zu erhöhen, müssen Sie eine Umgebungsvariable auf dem Computer erstellen, auf dem die SAP-Clientbibliotheken installiert sind, und sie auf einen numerischen Wert festlegen. Der wert, den Sie für diese Umgebungsvariable angeben, ist die maximale Anzahl von Verbindungen, die in das SAP-System hergestellt werden können. Erstellen Sie die Umgebungsvariable mit den folgenden Details:
Variablenname: CPIC_MAX_CONV
Variabler Wert: ein beliebiger positiver numerischer Wert. Um beispielsweise 200 Verbindungen mit dem SAP-System zu aktivieren, geben Sie den Wert als 200 an.
Weitere Informationen zu Umgebungsvariablen erfahren Sie unter Windows PowerShell: about_Environment_Variables.
Fehler beim Generieren oder Abrufen von Metadaten für IDOCs
Problem
Beim Generieren von Metadaten für den Empfangsvorgang für einen IDOC in einem SAP-System gibt der SAP-Adapter den folgenden Fehler zurück.
Error while retrieving or generating the WSDL.
Adapter message: Details: ErrorCode=RFC_EXCEPTION.
ErrorGroup=RFC_ERROR_APPLICATION_EXCEPTION. SapErrorMessage= OBJECT_UNKNOWN.
AdapterErrorMessage=Error returned by RfcCallReceiveEx while calling RFC: IDOCTYPE_READ_COMPLETE.
Ursache
Der SAP-Adapter verwendet die IDOCTYPE_READ_COMPLETE RFC, um die Metadaten für den Empfangsvorgang für ein IDOC abzurufen. Für das Aufrufen dieses RFC sind bestimmte Benutzerberechtigungen im SAP-System erforderlich. Wenn Sie Metadaten generieren möchten, wenn Sie eine Verbindung mit dem SAP-System mithilfe einer Anmeldeinformation hergestellt haben, die nicht über die Berechtigung zum Aufrufen des IDOCTYPE_READ_COMPLETE RFC verfügt, gibt der SAP-Adapter einen Fehler aus.
Lösung
Melden Sie sich bei der SAP-GUI mit denselben Anmeldeinformationen an, die Sie für den Adapter verwendet haben. Navigieren Sie zur Transaktion SE37, und geben Sie den Namen des RFC ein, der als IDOCTYPE_READ_COMPLETE ausgeführt werden soll.
Geben Sie für die Eingabeparameter PI_IDOCTYP und PI_CIMTYP die Werte ein, die dem benutzerdefinierten IDoc entsprechen. Geben Sie für die Parameter PI_VERSION und PI_RELEASE die gleichen Werte wie in der Benutzeroberfläche für Adaptermetadaten ein. Und drücken Sie zum Ausführen F8.
Sie sollten dieselbe Ausnahme erhalten wie der Adapter mit weiteren Informationen zum Problem.
Wenn Sie das Problem immer noch nicht beheben können, generieren Sie anstelle des Empfangsvorgangs ein Schema für den ReceiveIdoc-Vorgang. In diesem Fall verwendet der SAP-Adapter keine IDOCTYPE_READ_COMPLETE und löst keinen Fehler aus.
Fehler beim Senden oder Empfangen von IDOCs mit nichtleasierten Segmenten
Problem
Der SAP-Adapter gibt eine XmlReaderParsingException beim Senden von IDOCs (mithilfe des Sendevorgangs) oder beim Empfangen von IDOCs (mithilfe des Empfangsvorgangs), die nicht freigegebene Segmente aufweisen.
Ursache
IDOCs bestehen aus Segmenten. Beim Generieren von Metadaten ruft der SAP-Adapter alle freigegebenen Segmente ab, die im SAP-System vorhanden sind. Wenn der Adapterclient jedoch die Metadaten verwendet, um einen Vorgang auszuführen, z. B. den Empfang eines IDOC, gibt der SAP-Adapter eine XmlReaderParsingException. Dies tritt auf, weil beim Empfang des IDOC möglicherweise auch einige nicht freigegebene Segmente gesendet wurden, für die die Metadaten vom Adapter nicht generiert wurden.
Lösung
Führen Sie einen der folgenden Schritte aus:
Aktualisieren Sie Ihr SAP-System, indem Sie geeignete Patches für die nicht veröffentlichten Segmente anwenden.
Verwenden Sie SendIdoc- oder ReceiveIdoc-Vorgänge, um IDOCs zu senden bzw. zu empfangen. Weitere Informationen zu diesen Vorgängen finden Sie unter Operations on IDOCs in SAP.
Fehler beim Senden von Flatfile-IDOCs an SAP, die mit dem SAP FilePort empfangen wurden
Problem
Wenn Sie versuchen, eine Flatfile-IDOC-Datei (mithilfe des Sendevorgangs) an ein SAP-System zu senden, das mit einem SAP FilePort generiert wurde, schlägt der Flatfile-Parser in der BizTalk-Orchestrierung nicht die Flatf-Datei in ein XML-Format um, wodurch der IDOD-Sendevorgang fehlschlägt.
Ursache
Wenn das SAP-System ein IDOC mit einem FilePort generiert, werden alle leeren Leerzeichen am Ende eines Segments gekürzt. Der Flatfile-Parser erwartet jedoch, dass die Daten des letzten Felds im Segment vorhanden sind, um die Flache-Datei erfolgreich in XML zu konvertieren. Da die leeren Leerzeichen nicht im Segment vorhanden sind, kann der Flatfile-Parser die flache Datei nicht in XML analysieren.
Lösung
Verwenden Sie für solche flatfile-IDOCs, die mit dem SAP FilePort generiert wurden, stattdessen den SendIdoc-Vorgang . Weitere Informationen zu diesem Vorgang finden Sie unter Operations on IDOCs in SAP.
Fehler beim Empfangen von IDOCs von SAP, wenn die EnableBizTalkCompatibilityMode-Eigenschaft auf "true" festgelegt ist
Problem
Die folgende Ausnahme tritt beim Empfangen eines IDOC auf, wobei die Eigenschaft "EnableBizTalkCompatibilityMode"-Bindung auf "true" festgelegt ist:
System.Exception: Loading property information list by namespace failed or property not found in the list. Verify that the schema is deployed properly.
Ursache
Wenn die Bindungseigenschaft EnableBizTalkCompatibilityMode auf "true" festgelegt ist, müssen Sie die BizTalk-Eigenschaftsschema-DLL für den SAP-Adapter als Ressource in Ihrer BizTalk-Anwendung hinzufügen, d. h. die Anwendung, in der Ihr Projekt bereitgestellt wird.
Lösung
Der Name für das BizTalk-Eigenschaftenschema für den SAP-Adapter ist Microsoft.Adapters.SAP.BiztalkPropertySchema.dll. Dies wird vom Setup des BizTalk Adapter Pack unter <Installationslaufwerk>:\Programme\Microsoft BizTalk Adapter Pack\bin installiert. Führen Sie die folgenden Aufgaben aus, um diese Assembly als Ressource in Ihrer BizTalk-Anwendung hinzuzufügen.
Hinzufügen einer Assembly als Ressource in der BizTalk-Anwendung
Starten Sie die BizTalk Server-Verwaltungskonsole.
Erweitern Sie in der Konsolenstruktur die BizTalk-Gruppe, erweitern Sie Anwendungen und dann die Anwendung, der Sie eine BizTalk-Assembly hinzufügen möchten.
Erweitern Sie Anwendungen und die Anwendung, zu der Sie eine BizTalk-Assembly hinzufügen möchten.
Klicken Sie mit der rechten Maustaste auf "Ressourcen", zeigen Sie auf "Hinzufügen", und klicken Sie dann auf "BizTalk-Assemblys".
Klicken Sie auf "Hinzufügen", navigieren Sie zu dem Ordner, der die BizTalk-Assemblydatei enthält, wählen Sie die BizTalk-Assemblydatei aus, und klicken Sie dann auf "Öffnen".
Geben Sie unter "Optionen" die Optionen für die Installation der BizTalk-Assembly im GAC an, und klicken Sie dann auf "OK".
Fehler bei der Validierung beim Empfangen von IDOCs aus einem SAP-System
Problem
Ein von einem SAP-System erhaltenes IDOC schlägt die Validierung mit einem ähnlichen Fehler wie den folgenden fehl:
There was a failure executing the receive pipeline: "Microsoft.BizTalk.DefaultPipelines.XMLReceive, Microsoft.BizTalk.DefaultPipelines, Version=3.0.1.0, Culture=neutral, PublicKeyToken=<token>"
Source: "Pipeline " Receive Port: "ReceiveIdoc" URI: "<connection uri>"
Reason: The document failed to validate because of the following error:
"The 'http://Microsoft.LobServices.Sap/2007/03/Types/Idoc/3/CREMAS03//620:TAXBS' element has an invalid value according to its data type."
Ursache
Die für den Empfang eines IDOC generierten Metadaten enthalten die zulässigen Werte, die im Rahmen des Empfangsvorgangs für eine bestimmte Spalte empfangen werden können. Diese Werte werden als Enumeration in den generierten Metadaten verfügbar gemacht. Wenn der IDOC jedoch tatsächlich empfangen wird, kann der empfangene Wert von den aufgezählten Werten abweichen. Daher schlägt der Empfangsvorgang beim Überprüfen der Werte fehl. Ein Beispiel: In der oben genannten Fehlermeldung schlägt die Validierung für die Spalte TAXBS fehl.
Lösung
Sie müssen die Enumeration manuell im Schema (für BizTalk-Projekte) oder den Clientproxy (für .NET-Projekte mit WCF-Dienstmodell) bearbeiten, um den vom SAP-System empfangenen Wert einzuschließen.
Flache Datei-IDOCs, vor und nach der Konvertierung in XML, sind nicht identisch
Problem
Wenn Sie einen Flachdatei-Parser verwenden, um ein Flachdatei-IDOC mithilfe des Schemas in ein XML zu konvertieren und danach das XML mithilfe des Schemas in ein Flachdatei-IDOC zurückkonvertieren, sind die beiden Flachdatei-IDOCs nicht identisch.
Ursache
Beim Generieren der XML aus einem Flatfile-IDOC generiert der Flat File Parser nicht die XML-Knoten mit leeren Werten. Wenn dieser XML-Code in eine flache Datei konvertiert wird, sind die Knoten, die im XML-Code fehlen, nicht im Flachdatei-IDOC enthalten. Daher sind die Flatfile-IDOCs nicht identisch.
Lösung
Führen Sie im Schema, das zum Konvertieren der Flachdatei in XML verwendet wird, und umgekehrt, innerhalb der Knotendefinition "Senden" oder "Empfangen" die folgenden Schritte aus:
Legen Sie die eigenschaft suppress_empty_nodes auf "false " fest, und legen Sie die eigenschaft generate_empty_nodes auf "true" fest. Standardmäßig ist die suppress_empty_nodes-Eigenschaft auf "true " festgelegt, und die generate_empty_nodes-Eigenschaft ist auf "false" festgelegt, und daher werden alle leeren Knoten nicht im XML-Code wiedergegeben.
Die Flat-Datei kann am Ende eine zusätzliche Wagenrücklauf enthalten. Sie können die eigenschaft suppress_trailing_delimiters auf "Ja " festlegen, um diese zusätzliche Wagenrücklauf zu vermeiden. Diese Eigenschaft wird auch als "Suppress Trailing Delimiters "-Eigenschaft verfügbar gemacht, wenn Sie das Schema in Visual Studio öffnen.
Fehler bei der Aktionserkennung bei Verwendung eines physischen Ports, der mit einer Bindungsdatei erstellt wurde
Problem
Nachdem Sie das Consume Adapter Service-Add-In verwendet haben, um ein Schema für einen bestimmten Vorgang im SAP-System zu generieren, erstellt das Add-In auch eine Portbindungsdatei. Sie können diese Bindungsdatei mithilfe der BizTalk Server-Verwaltungskonsole importieren, um physische Ports in BizTalk Server zu erstellen. Wenn Sie jedoch Nachrichten mithilfe solcher Ports an das SAP-System senden, kann der Adapter die für den Port angegebene Aktion nicht verstehen und gibt einen Fehler ähnlich wie folgt aus:
Microsoft.ServiceModel.Channels.Common.UnsupportedOperationException: Incorrect Action
<BtsActionMapping xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Operation Name="<op_name>" Action="<action>" />
</BtsActionMapping>. Correct the specified Action, or refer to the documentation on the allowed formats for the Actions.
Ursache
Wenn Sie logische Ports in einer BizTalk-Orchestrierung erstellen, geben Sie bestimmte Namen für die Vorgänge für diese Ports an, oder Verwenden Sie einfach die Standardnamen wie Operation_1, Operation_2 usw. In der Bindungsdatei, die vom Add-In "Adapterdienst nutzen" generiert wird, entspricht der Vorgangsname jedoch dem Namen des Vorgangs, für den Sie Metadaten generieren. Wenn Sie beispielsweise Metadaten für RFC_CUSTOMER_GET generieren, wird die Aktion auf Folgendes festgelegt:
<Operation Name="RFC_CUSTOMER_GET" Action="http://Microsoft.LobServices.Sap/2007/03/Rfc/RFC_CUSTOMER_GET" />
Wenn Sie die Bindungsdatei importieren, wird dieselbe Aktion für den physischen Port festgelegt. Die Vorgangsnamen für den logischen Port (Operation_1, Operation_2 usw.) stimmen also nicht mit den Vorgangsnamen überein, die in der Aktion für den physischen Port angegeben sind, was zu einem Fehler führt.
Lösung
Stellen Sie sicher, dass der Vorgangsname im logischen Port mit dem vorgangsnamen identisch ist, der als Teil der Aktion im physischen Port angegeben ist. Führen Sie eine der folgenden Aktionen aus:
Ändern Sie den Vorgangsnamen im logischen Port in BizTalk-Orchestrierung von Operation_1 usw. in den Vorgang, für den Sie Metadaten generieren, z. B. RFC_CUSTOMER_GET.
Ändern Sie den Vorgangsnamen in der Aktion für den physischen Port in den Namen des Vorgangs im logischen Port. Sie können beispielsweise die Aktion im physischen Port so ändern, dass sie wie folgt aussieht:
<Operation Name="Operation_1" Action="http://Microsoft.LobServices.Sap/2007/03/Rfc/RFC_CUSTOMER_GET" />
Die Antwortnachricht für einen Vorgang, der auf SAP ausgeführt wurde, enthält keine Tabellenparameter.
Ursache
Wenn Sie den SAP-Adapter verwenden, um einen Vorgang im SAP-System auszuführen, der eine große Anzahl von Tabellen zurückgibt, und jede Tabelle über eine große Anzahl von Datensätzen verfügt, wird ein großes Dataset im Rahmen der Antwortnachricht aus dem SAP-System zurückgegeben. Der SAP-Adapter gibt also standardmäßig keine Tabellenparameter als Teil der Antwortnachricht zurück.
Lösung
Sie können die Tabellen anfordern, die der SAP-Adapter als Teil der Antwort zurückgeben soll. Dazu können Sie einen leeren Tabellenparameter als Teil der Anforderungsnachricht angeben, die Sie an das SAP-System senden. Beispiel: <table_parameter_name />
.
Adapterclients erhalten die Antwort von SAP nicht
Problem
Wenn die Adapter mit BizTalk Server verwendet werden, wenn die Anmeldeinformationen für den WCF-benutzerdefinierten Sendeport falsch sind, werden die Anforderungsmeldungen nicht verarbeitet. Nachdem Sie die richtigen Anmeldeinformationen angegeben haben, wird die Nachricht an das SAP-System gesendet und eine Antwort empfangen. Die Antwortnachricht steht jedoch nicht für den Out-Port zur Verfügung.
Lösung
Starten Sie die BizTalk-Hostinstanz neu.
Empfangsprobleme einer eingehenden Nachricht vom SAP-Server aufgrund von Verbindungsproblemen
Problem
Sie erhalten den folgenden Fehler nur beim Empfangen einer eingehenden Nachricht vom SAP-Server mithilfe eines WCF-Custom Empfangsports für den SAP-Adapter.
The Messaging Engine failed to add a receive location "<location_name>" with URL "<connection URI>" to the adapter "WCF-Custom".
Reason: "Microsoft.Adapters.SAP.RFCException: Details: ErrorCode=RFC_OK. ErrorGroup=RFC_ERROR_COMMUNICATION. SapErrorMessage=Connect to SAP gateway failed
Connect_PM TPNAME=<name>, GWHOST=<host>, GWSERV=<server>
Sie können nachrichten jedoch mithilfe eines WCF-Custom Sendeports erfolgreich an das SAP-System senden.
Lösung
Installieren Sie die SAP-GUI auf demselben Computer, auf dem Sie den Adapterclient ausführen, und versuchen Sie erneut, die eingehende Nachricht zu empfangen. Weitere Informationen zum Installieren der SAP-GUI finden Sie in der SAP-Dokumentation.
Fehler mit RootNode TypeName in BizTalk-Projekten
Problem
Wenn in einem BizTalk-Projekt in Visual Studio die vom Add-In "Verbrauchsadapterdienst" generierten Schemas ungültige Zeichen oder reservierte Wörter für die RootNode TypeName-Eigenschaft enthalten, tritt beim Kompilieren des Projekts der folgende Fehler auf:
Node <node reference> - Specify a valid .NET type name for this root node.
The current .NET type name of this root node is invalid (it is a reserved BizTalk Keyword or is an invalid C# identifier).
Lösung
Klicken Sie mit der rechten Maustaste auf den Wurzelknoten, auf den im Fehler verwiesen wird, und wählen Sie Eigenschaften aus.
Entfernen Sie für die Eigenschaft RootNode TypeName alle unzulässigen Zeichen oder reservierten Wörter, z. B. Punkt (.).
Ungültige Bindungswarnung bei Verwendung des Adapters in Visual Studio
Problem
Wenn Sie den Adapter zum Erstellen einer Anwendung in Visual Studio verwenden und die vom Adapter generierte Konfigurationsdatei (app.config) öffnen, wird eine Warnung wie folgt angezeigt:
The element 'bindings' has invalid child element 'sapBinding'. List of possible elements expected: 'basicHttpBinding, customBinding, ...
Ursache
Diese Warnung wird angezeigt, da die SAP-Adapterbindung keine Standardbindung ist, die mit der Windows Communication Foundation (WCF) ausgeliefert wird.
Lösung
Sie können diese Warnung problemlos ignorieren.
XLANG-Ausnahme in BizTalk Server
Problem
BizTalk Server löst eine XLANG-Ausnahme oder eine Ausnahme aus, die besagt, dass die Anwendung die Dokumentspezifikation nicht finden kann, da mehrere Schemas mit dem Nachrichtentyp übereinstimmen.
Ursache
Dies geschieht aufgrund einer der folgenden Aktionen:
Sie haben mehrere Schemas eines generischen Vorgangs (z. B. SendIdoc und ReceiveIdoc) in einem BizTalk Server-Projekt generiert, in einer BizTalk Server-Anwendung bereitgestellt und dann die Anwendung ausgeführt, um entsprechende Vorgänge auf einem SAP-System auszuführen. Da die Schemas häufig vorkommen, besteht ein Konflikt zwischen den Schemas, die in der BizTalk Server-Anwendung bereitgestellt werden.
Bei mehreren Projekten haben Sie ein generisches Vorgangsschema für jedes der BizTalk Server-Projekte generiert, jedes Projekt auf einem separaten BizTalk Server-Anwendung auf demselben Host bereitgestellt und dann eine Anwendung oder Anwendungen ausgeführt, um entsprechende Vorgänge auf einem SAP-System auszuführen. Da auf die Schemas und Assemblys in den Anwendungen in BizTalk Server zugegriffen werden kann, besteht ein Konflikt zwischen den gängigen Schemas, die unter verschiedenen BizTalk Server-Anwendungen und -Assemblys bereitgestellt werden.
Lösung
Verwenden Sie eine einzelne generische Vorgangsschemadatei für eine BizTalk Server-Anwendung. Wenn Sie ein generisches Vorgangsschema in mehreren BizTalk Server-Anwendungen auf demselben Host verwenden müssen, erstellen Sie eine Anwendung, die ein einzelnes generisches Vorgangsschema enthält, und verwenden Sie dann das generische Vorgangsschema aus allen anderen Anwendungen in BizTalk Server.