Hilfe für Elster-Übertragungsfehler 070089007 (NAV 2009)

10. Mai 2017 14:24

Hier ist ein Problem beschrieben, welches derzeit für die Versionen 2009 R2..2015 bei der Elster-Übertragung besteht.

Da es offensichtlich einige Verständnisprobleme in den Blog-Kommentaren gibt, möchte ich an dieser Stelle die zu erstellende Datei (mit korrektem Thumbprint) zur Ansicht zur Verfügung stellen (Beispielhaft für Dynamics NAV 2009 R2).
Es muss (jeweils) die Datei "finsql.exe.config" (Classic) erstellt oder die des RTC sinngemäß wie hier beschrieben angepasst werden. Änderungen an DLLs sollten und werden nicht durchgeführt. Andere Versionen (< 2009 R2) könnten auf diese Art nicht funktionieren.

Code:
<?xml version="1.0"?>
<configuration>
    <configSections>
        <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
            <section name="Microsoft.Dynamics.ElsterTransferHandler.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false"/>
        </sectionGroup>
    </configSections>
    <applicationSettings>
        <Microsoft.Dynamics.ElsterTransferHandler.Properties.Settings>
            <setting name="PublicCertificateThumbprint" serializeAs="String">
                <value>3d7d4c6abf46404bcf97b02a708bec2305614540</value>
            </setting>
        </Microsoft.Dynamics.ElsterTransferHandler.Properties.Settings>
    </applicationSettings>
</configuration>


Selbstverständlich muss vorher auch die neue öffentliche Zertifikatsdatei, wie in der Microsoft-Dokumentation beschrieben, installiert sein.
Zuletzt geändert von SilverX am 19. Mai 2017 15:27, insgesamt 1-mal geändert.

Re: Temporäre Hilfe für Elster-Übertragungsfehler 070089007

10. Mai 2017 18:13

Ahhhhh :-D

Ok, ich muss hier etwas zurückrudern. Es funktioniert, aber nur, wenn wie hier beschrieben auch der ComWrapper mit der DLL für Dynamics NAV 2013, 2013 R2 bzw. 2015 installiert ist. Weil nur die neue Version auch tatsächlich die Konfiguration ausliest. Die letzte DLL für Dynamics NAV 2009 R2 hat den Thumbprint hartkodiert und greift somit nicht auf das neue Zertifikat zu.

Irgendwie hatte ich das übersehen, da das bei uns schon seit knapp 2 Jahren problemlos in der Konstellation läuft.

Re: Temporäre Hilfe für Elster-Übertragungsfehler 070089007

17. Mai 2017 07:50

Hallo Carsten,

d.h. für NAV2009 und vorher ist auch dies keine Lösung?

Besten Dank
Julian

Re: Temporäre Hilfe für Elster-Übertragungsfehler 070089007

17. Mai 2017 09:28

Doch, sie ist nur aufwendiger. Wir nutzen den ComWrapper seit knapp 2 Jahren, wegen der geänderten Server unter 3.0, technisch 2009 R2. Dazu die Config und das neue Zertifikat und die Übertragung läuft wieder.

Lösung für Elster-Übertragungsfehler 070089007 (NAV 2009)

19. Mai 2017 15:25

Hallo miteinander,

Von Microsoft wird es ja (zu Recht) kein Update für Elster unter Dynamics NAV 2009 (R2) geben. Dieses Release ist aus dem Mainstream Support seit einiger Zeit raus und es wird maximal Sicherheitsupdates geben, keine neuen Features (wie Änderungen zu Elster).
dimi1976 hier aus dem Forum und ich, wir haben die folgenden Schritte zusammen entwickelt und geprüft, um den ElsterTransferHandler unter Dynamics NAV 2009 R2 (Classic und RTC) wieder zum Laufen zu bekommen. Frühere (technische) Versionen wurden nicht geprüft, andere freuen sich aber sicher über Meldungen, ob es auch dort funktioniert.

Technischer Hintergrund der Umsetzung ist eine "Umleitung" der Zugriffe auf eine neue .NET Variante des ElsterTransferHandler über eine Wrapper-Automation.

Nach den unten stehenden Schritten wird die Übertragung immer lokal ausgeführt. Das private und das öffentliche Zertifikat müssen also jeweils auf den zur Übertragung genutzten Clients installiert sein, eine Installation der Zertifikate auf den Dynamics NAV Servern für den RTC ist nicht notwendig bzw. funktioniert nicht mehr.

Folgende Dateien werden benötigt. Bitte alles idealerweise in ein Verzeichnis herunterladen bzw. kopieren:

  1. ElsterTransferHandler. Entweder aus einem kumulativen Update für 2013 R2 oder 2015. Die neusten (mit Stand von heute):
    1. Cumulative Update 43 for Microsoft Dynamics NAV 2013 R2 oder
    2. Cumulative Update 31 for Microsoft Dynamics NAV 2015
  2. Eine alte Elster-Installation für Dynamics NAV 2009 (453952_intl_i386_zip.exe)
  3. regasm.exe: findet sich unter C:\Windows\Microsoft.NET\Framework\v4.0.30319. Bitte von dort RegAsm.exe und RegAsm.exe.config kopieren. ACHTUNG: NICHT DIE 64BIT VERSION VERWENDEN (x64)!!
  4. gacutil.exe: findet sich auf einem Rechner mit Visual Studio unter C:\Program Files (x86)\Microsoft SDKs\Windows\<neuste Version>\bin\NETFX xxx Tools. Bitte gacutil.exe, gacutil.exe.config UND 1033\gacutlrc.dll kopieren.
  5. frontendkey-p10: German NAV Developers Blog
  6. ComWrapperDLL.zip
  7. Configs.zip aus diesem Artikel (unten)

Vorbereitung:
  1. Aus einem der kumulativen Updates die Microsoft.Dynamics.ElsterTransferHandler.dll extrahieren.
    Diese befindet sich in dem Archiv der DVD innerhalb des CU-Archivs: XXXX.DE.DVD.zip\ServiceTier\program files\Microsoft Dynamics NAV\80\Service\Add-ins\Elster
  2. Aus 453952_intl_i386_zip.exe die Datei GlobalAssemblyCache\interop.MSXML6.dll extrahieren.
  3. Den FrontendKey extrahieren.
  4. Aus ComWrapperDLL.zip die Datei Microsoft.Dynamics.ElsterTransferHandler.ComWrapper.dll extrahieren.
  5. Configs.zip extrahieren. In diesem Archiv befindet sich auch die angepasste Codeunit 11001.
  6. Das bestehende Coala-Zertifikat sollte über das Zertifikats-SnapIn entfernt werden.
  7. Für das private Zertifikat sollte geprüft werden, ob sich dieses in den Eigenen Zertifikaten des aktuellen Benutzers befindet und der Anzeigename dem Eintrag der Tabelle Certificate entspricht.

Als Basis für die folgenden Schritte dient nun das erstellte Verzeichnis, welches dann diese Struktur haben sollte:

ResultFolder.png


Installation für Classic Client und RTC (auf einem Buchhaltungs-Client beispielsweise):
  1. Das Zertifikat FrontendKey sollte in den Zertifikatsspeicher des Computers unter Vertrauenswürdige Stammzertifizierungsstellen installiert werden.
  2. Sofern eine explizite Elster-Installation (eines Updates) vorliegt, Microsoft Dynamics NAV Elster auf allen Clients die Elster ausführen dieses deinstallieren.
  3. Unter C:\Program Files (x86)/CommonFiles/Microsoft Dynamics NAV/ den Ordner Elster erstellen.
  4. Den Inhalt des vorbereiteten Verzeichnisses (ohne die Archive) in den neu erstellten Elster-Ordner kopieren.
  5. Eine Eingabeaufforderung als Administrator öffnen (Rechtsklick) und dort folgendes ausführen:
    Code:
    CD "C:\Program Files (x86)/CommonFiles/Microsoft Dynamics NAV/Elster/"
    Dann
    Code:
    REM Aufräumen eventueller alter Dateien. Liegen keine Dateien vor, treten Warnungen auf:
    regasm.exe /u Microsoft.Dynamics.ElsterTransferHandler.ComWrapper.dll
    regasm.exe /u Microsoft.Dynamics.ElsterTransferHandler.dll
    gacutil.exe /u Microsoft.Dynamics.ElsterTransferHandler.ComWrapper
    gacutil.exe /u Microsoft.Dynamics.ElsterTransferHandler
    gacutil.exe /u interop.MSXML6
  6. Den Dynamics NAV Classic Client starten und im Design der Codeunit 11001 prüfen, ob die lokale OnRun() Variable ElsterTransferHandlerNavision als Subtype "Unknown Automation Server" zeigt. Das ist korrekt.
    Ist das nicht der Fall, dann prüfen, wo es im System noch Referenzen gibt und diese löschen. Am Besten indem man im RegEdt32.exe nach "ElsterTransferHandler" sucht und die entsprechenden Einträge löscht.
  7. "Neuinstallation" ElsterTransferHandler aus der Eingabeaufforderung:
    Code:
    gacutil.exe /i interop.MSXML6.dll
    gacutil.exe /i Microsoft.Dynamics.ElsterTransferHandler.dll
    gacutil.exe /i Microsoft.Dynamics.ElsterTransferHandler.ComWrapper.dll
    regasm.exe Microsoft.Dynamics.ElsterTransferHandler.ComWrapper.dll /tlb:Microsoft.Dynamics.ElsterTransferHandler.ComWrapper.tlb
  8. Dynamics NAV Classic Client neu öffnen, die Codeunit 11001 im Design-Modus öffnen und die OnRun() Locals öffnen. Dort den bestehenden Subtype löschen, folgendes auswählen:
    Microsoft Dynamics ElsterTransferHandler COM Wrapper 2.1
    ComWrapper
  9. Objekt speichern und den Dynamics NAV Classic Client schließen.
  10. Kommt der ElsterTransferHandler aus der Version 2015, dann aus config80, sonst config71, ...
    1. die entsprechende finsql.exe.config zu der zugehörigen finsql.exe kopieren (es sollte noch keine existieren).
  11. Dynamics NAV Classic Client starten und eine Testübertragung durchführen.

Wird der RTC verwendet, dann auch die folgenden Schritte ausführen:

  1. Kommt der ElsterTransferHandler aus der Version 2015, dann aus config80, sonst config71, ...
    1. die entsprechende Microsoft.Dynamics.Nav.Client.exe.config mit der vorhandenen abgleichen und nur die neuen Bereiche einfügen.
  2. Die Codeunit 11001 mit der beigefügten Datei COD11001.txt abgleichen und kompilieren. Durch die Änderungen wird sichergestellt, dass die Übertragung nicht mehr vom Server, sondern direkt vom Client erfolgt und deshalb auch die Client.exe.config genutzt wird.
  3. Dynamics NAV Windows Client starten und eine Testübertragung durchführen.
  4. Dynamics NAV Classic Client starten und eine Testübertragung durchführen (prüfen ob diese auch noch funktioniert).

Ich habe jeden einzelnen Schritt, abgesehen vom RTC, heute noch einmal auf einem frischen System geprüft. Auch beide Varianten (2013 R2 und 2015) der DLLs auf einem Classic Client Version 6.0.33210.
Die Variante RTC mit dem ElsterTransferHandler aus Dynamics NAV 2013 R2 (7.1.40452.0) hat dimi bei sich erfolgreich am Laufen.

Configs.zip
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Re: Hilfe für Elster-Übertragungsfehler 070089007 (NAV 2009)

9. Juni 2017 17:23

Ich bestätige hiermit, das es genauso funktioniert. Vielen Dank an.