Vom 5. bis 7. Juni findet in London wieder die...

Read more

Live Coding on stage in Hamburg - exklusiv für...

Read more

Um Azure Ressourcen von DevOps aus zu deployen,...

Read more

In diesem Artikel wird ein beispielhafter Aufbau...

Read more

Die QUIBIQ Gruppe wurde am 9. März 2023 von dem...

Read more

Der Schnelleinstieg in die Welt der Tests für den...

Read more

Wenn man eine, im Azure Portal, entwickelte Logic...

Read more

WinSCP für BizTalk wird für den SFTP-Adapter...

Read more

Mit diesem Artikel wird ein klares Verständnis von...

Read more

In einer Logic App werden häufig Variablen...

Read more

How-to: BizTalk WCF-SAP Adapter Einrichtung leicht gemacht

Viele deutsche Unternehmen setzen im Bereich der Warenwirtschaft oder Finanzbuchhaltung auf SAP. Im BizTalk Umfeld müssen wir daher immer wieder mit SAP kommunizieren. BizTalk bringt dafür seit vielen Versionen im BizTalk Adapter Pack den WCF-SAP Adapter mit, dessen Installation sich auf den ersten Blick auch sehr einfach gestaltet. Nach der Installation muss jedoch noch mehr eingerichtet werden und hier kann es schwierig werden...

Um die vollständige Installation und Einrichtung auf einer Seite zu bündeln, haben wir hier alle Schritte kompakt zusammengefasst:

 

(Die Screenshots und Erläuterungen basieren auf BizTalk 2016, sind aber in ähnlicher Form auch für alle BizTalk Versionen seit 2010 gültig.)

 

Im Setup des BizTalk Servers wird die Adapterinstallation ausgewählt:
 

 

Im sich öffnenden Setup müssen nun mindestens die ersten 3 Steps nacheinander installiert werden:

 

Übrigens: Das sich öffnende Fenster trägt seit eh und je den ulkigen Namen "App Fabric Connect Setup", was man in der Miniaturansicht nachvollziehen kann. Auch das Icon ist das Standardicon für .NET WinForm Anwendungen in Visual Studio. :)  

 

 

Der erste Schritt installiert das WCF LOB Adapter SDK, das die Grundlage des Adapter Packs darstellt und auch für die Entwicklung eigener Adapter genutzt werden kann. Die Installation ist wenig spektakulär und kann mit einigen "Next" Klicks beendet werden.


Der zweite Schritt installiert das BizTalk Adapter Pack für 32 Bit Anwendungen. Dies ist aus 2 Gründen wichtig:

 

  • Sie könnten den Adapter später in 32 Bit Host Instanzen einsetzen wollen
  • Die Admin Console ist eine 32 Bit Anwendung. Dort wollen bzw. müssen Sie Ihre Ports einrichten können und brauchen dafür die Installation. Die Installation ist ebenfalls wenig überraschend. Sie können lediglich einzelne Adapter aus dem Adapter Pack abwählen. Wir raten dringend dazu, alle Adapter zu installieren. Die Updates für BizTalk Server gehen in der Regel davon aus, dass das Adapter Pack vollständig installiert ist – eine Teilinstallation kann zu Problemen führen.

 

Der dritte Schritt installiert die gleichen Adapter wie der zweite Schritt und Sie sollten daher auch die gleichen Auswahlen treffen. Diesmal werden jedoch die 64 Bit Versionen installiert, die sie später im Betrieb auch bevorzugen sollten.

 

Wundern Sie sich bei der Adapter Pack Installation nicht darüber, wenn es etwas länger dauert. Sollte ein Visual Studio installiert sein, so registrieren die Adapter sich dort, was durch einen mehrmaligen Hintergrundstart von Visual Studio passiert und somit die Installation etwas in die Länge zieht. Auch taucht zum Ende der Installation irgendwo ein Fenster auf, das Sie mit OK bestätigen müssen:

 

 

Nun sind alle Adapter installiert - im Prinzip also wirklich simpel. Leider ist danach aber eigentlich nur der WCF-SQL Adapter direkt betriebsbereit, denn für die Fremdsysteme bringt das Adapter Pack die notwendigen Dateien der anderen Hersteller nicht mit. Die notwendigen Schritte nach der Installation findet man im Startmenü bzw. im Installationsverzeichnis des Adapterpacks (C:\Program Files\Microsoft BizTalk Adapter Pack(x64)\Documents\InstallationGuide.htm):

 

 

Die wichtigsten Punkte daraus, um den SAP Adapter in 64 Bit Umgebungen in Betrieb zu nehmen:

 

  1. Im Abschnitt "Supported Enterprise Application Versions" unter "For the SAP Adapter" finden sich alle Instruktionen, um den SAP Adapter betriebsbereit zu machen. Für den Betrieb ist der Download mehrerer Pakete aus dem SAP Service Marketplace erforderlich. Dafür benötigen Sie einen Login oder fragen den SAP Administrator Ihres Vertrauens. Wichtig: Laden Sie genau die erwähnten Pakete herunter.
  2. Das erste Paket sollte in der Regel das SAP RFC SDK 7.2 UNICODE aus dem SNOTE 27517 sein.
  3. Falls Sie verschlüsselte Kommunikation mit SNC verwenden, benötigen Sie zusätzlich noch ein paar DLLs aus SNOTE 352295.
  4. Die im Installation Guide erwähnte R3DLLINST.zip sowie die Vcredist Pakete brauchen Sie auf einem aktuellen Betriebssystem nicht mehr.
  5. Beim Download ist immer darauf zu achten, die 64 Bit Versionen zu laden.
  6. Nach dem Entpacken der heruntergeladenen Daten sollten Sie folgende Dateien daraus selektieren:
  • Icudt34.dll
  • Icuin34.dll
  • Icuuc34.dll
  • Libicudecnumber.dll
  • Librfc32u.dll
  • Librfc32u.lib
  • Libsapu16vc80.dll
  • Libsapucum.dll
  • Libsapucum.lib
  • sapdecflCUlib.lib
  • Sapnwrfc.dll
  • Sapnwrfc.lib

 

Falls Sie SNC benutzen möchten, selektieren Sie auch noch:

  • gx64krb5.dll
  • gx64ntlm.dll

 

Kopieren Sie alle selektierten Dateien in das System32 Verzeichnis von Windows (in der Regel unter C:\Windows\System32 zu finden)!

 

Lassen Sie sich nicht von der 32 im Namen verwirren. Das System32 Verzeichnis ist bei 64 Bit Systemen für 64 Bit DLLs gedacht. Falls Sie 32 Bit DLLs haben, so müssen diese in das daneben liegende SysWOW64 Verzeichnis. Mehr Erhellendes zum Thema 32 Bit auf Windows 64 findet man unter WoW64

 

Jetzt können Sie den SAP Adapter für die meisten Zwecke einsetzen.

 

Sollten Sie selbst auch noch RFC Bausteine für SAP hosten wollen, so benötigen Sie noch eine lokal angelegte SAPRFC.ini (Beispiele hierfür finden sich bei SAP). Damit der Adapter Ihre SAPRFC.INI finden kann, müssen Sie diese als Umgebungsvariable RFC_INI in Windows hinterlegen. Umgebungsvariablen finden Sie unter System -> Erweiterte Systemeinstellungen -> Umgebungsvariablen. Hier fügen Sie im Bereich "Systemvariablen" einen neuen Wert "RFC_INI" mit dem Pfad zur SAPRFC.INI hinzu.

 

Falls Sie beim Einsatz noch auf Probleme stoßen, können Debugging-Informationen häufig helfen. Fügen Sie dafür in der BTSNTSvc64.exe.config im BizTalk Installationsordner folgende Konfiguration innerhalb des bereits existierenden <configuration> Segments ein, um einen Trace in 2 Dateien zu schreiben:

  <system.diagnostics>

    <trace autoflush="true" />

    <sources>

      <source name="Microsoft.Adapters.SAP" switchValue="All">

        <listeners>

          <add name="adapterlistener" />

        </listeners>

      </source>

      <source name="System.ServiceModel" switchValue="All">

        <listeners>

          <add name="listener" />

        </listeners>

      </source>

      <source name="System.ServiceModel.MessageLogging" switchValue="All">

        <listeners>

          <add name="listener" />

        </listeners>

      </source>

    </sources>

    <sharedListeners>

      <add name="listener"

           type="System.Diagnostics.XmlWriterTraceListener"

                  initializeData="C:\Temp\SAPAdapterDebugging.svclog"></add>

      <add name="adapterlistener"

        type="System.Diagnostics.XmlWriterTraceListener"

               initializeData="C:\Temp\SAPAdapter.svclog"></add>

    </sharedListeners>

  </system.diagnostics>

  <system.serviceModel>

    <diagnostics>

      <messageLogging logEntireMessage="true"

                      logMessagesAtServiceLevel="true"

                      logMessagesAtTransportLevel="true"

                      logMalformedMessages="true"

                      maxMessagesToLog="5000"

                      maxSizeOfMessageToLog="20000000">

      </messageLogging>

    </diagnostics>

  </system.serviceModel>

Am besten fügen Sie den Block eher am Ende ein und achten Sie darauf, dass es nicht schon einen Block mit dem gleichen Namen gibt. Falls doch, müssen Sie diesen dort integrieren. Der BizTalk Host Instance User, also der User, der den BizTalk Dienst ausführt, benötigt Schreibrechte auf dem angegeben Pfad - im Beispiel C:\Temp.

Damit BizTalk die neue Konfiguration liest, müssen Sie die Host Instanz, die den gewünschten Send Port oder die Receive Location ausführt neu starten.

 

Die entstehenden Log Dateien enthalten nun Details vom SAP Adapter und vom WCF Adapter Framework und sind sehr detailliert. Gerade die Informationen in SAPAdapter.svclog sind sehr SAP nah und sollten bei der Fehlersuche helfen.

 

Der Vollständigkeit halber sei erwähnt, dass der aktuellste SAP Adapter auch den SAP .NET Connector unterstützt und somit die oben genannten DLLs der Vergangenheit angehören könnten. Die Integration ist jedoch sehr frisch und noch nicht so ausgereift.

Falls Sie es dennoch versuchen wollen, so installieren Sie den SAP .NET Connector (64 bit, für .NET 4.0 und höher) aus dem SAP Service Marketplace und wählen Sie während der Installation "Install assemblies to GAC", damit der Adapter diese auch finden kann. Danach können Sie im Adapter den "ConnectorType" von "ClassicRfc" auf "NCo" umstellen.

 

Für den Betrieb kann es notwendig sein, den Ordner "C:\Windows\system32\ApplicationData" anzulegen und dem BizTalk Host Instance Benutzer dort Schreibrechte einzuräumen.

 

Der gemischte Betrieb von NCo und ClassicRfc ist möglich, also können Sie nach vollständiger Einrichtung einfach nach Bedarf zwischen den beiden Varianten umschalten und Stück für Stück migrieren, sobald die Funktionen reibungslos mit Nco funktionieren.

© QUIBIQ GmbH · Imprint · Data protection