ASN1 Encodierung System.Formats.Asn1 / DotNet Enums Allg.

13. Juli 2022 09:03

Moin an alle!

Im Moment arbeite ich an einer Extension, die unter anderem Daten in eine vorgeschriebene ASN1-Struktur encodieren soll.
Für diese Aufgabe wollte ich die DotNet Assembly System.Formats.Asn1 benutzen.

Diese habe ich in der dotnet.al der Extension referenziert:
Code:
assembly("System.Formats.Asn1")
    {
        type("System.Formats.Asn1.AsnWriter"; "AsnWriter")
        {           
        }
        type("System.Formats.Asn1.AsnEncodingRules"; "AsnEncodingRules")
        {                       
        }       
        type("System.Formats.Asn1.UniversalTagNumber"; "UniversalTagNumber")
        {           
        }
    }


Und sie wurde auf dem Server mit dem Service Tier (Service/Add-ins Ordner) und im Repository der Extension hinterlegt.


Jetzt zu dem Problem:
Wenn ich versuche folgenden Code auszuführen
Code:
procedure WriteAsn1(ParmVersion: Text; ParmCustomerNumber: Text; ParmLoginName: Text) : Text
    var
        AsnWriter: DotNet AsnWriter;
        AsnEncodingRules: DotNet AsnEncodingRules;
    begin     
        AsnWriter := AsnWriter.AsnWriter(AsnEncodingRules.BER);
    end;


Kriege ich den folgenden Fehler: Fehler bei einem Aufruf von System.Object.BER mit folgender Meldung: (leer)
Ich hab mehrere Variationen ausprobiert aber es scheint damit zu tun zu haben, dass AsnEncodingRules immer null ist. (leer, nicht die Zahl)
Die "Klasse" hat auch keinen Constructor, weil es eigentlich nur ein enum ist. (https://docs.microsoft.com/de-de/dotnet ... ew=net-6.0)

Kann das irgendwie behoben werden?
Wenn jemand eine Alternative zu DotNet für so eine Aufgabe kennt, würde ich mich ebenfalls freuen!
Alternativen, die ich kenne wären Azure Functions oder eine Web Assembly erstellen und durch ein Control-Add-In aufrufen.


Vielen Dank an alle im Voraus!
Zuletzt geändert von SimeonB am 13. Juli 2022 12:38, insgesamt 1-mal geändert.

Re: ASN1 Encodierung System.Formats.Asn1 / DotNet Enums Allg

13. Juli 2022 09:23

Herzlich willkommen im Forum!

Hallo SimeonB,

dein Quelltext ist leichter zu lesen und zu verstehen, wenn du ihn zwischen so genannte Code-Tags setzt. Insbesondere deine Formatierungen werden so auch beibehalten.

Daher bitten wir dich, vor und nach deinem Quelltext diese Code-Tags einzufügen. Beispiel:


[code]Dein Quelltext[/code]

Gruß, Kowa
MSDynamics.de-Team