• Hallo ,

    jetzt habe ich relativ viel Zeit damit vergeudet meine E-Rechnung mit dem Schema (unter http://test.erb.gv.at/files/xsd/ebinterface-4.0-bund.xsd)
    programmier technisch mit den std. .NET Klassen zu validieren! Will einfach nicht klappen!
    Hat jemand damit Erfahrung? Verwende .NET und C# zur Programmierung.

    Das Interessante dabei ist, dass ich schon Anbindungen für die Schweizer PostFinance und SIXPaynet implementiert habe und mit dem Xsd Schema und der Validierung so gut wie keine Probleme hatte....

    Es beginnt mit der Fehlermeldung
    [size=10][size=10]Der Wert des 'targetNamespace'-Parameters '' muss dem Wert des 'targetNamespace' 'http://www.ebinterface.at/schema/4p0/' des Schemas entsprechen.[/size][/size]

    [size=10]Diese Fehlermeldung lässt sich durch Entfernen des [/size][size=10]targetNamespace="http://www.ebinterface.at/schema/4p0/" [/size][size=10]Attributes im Schema umgehen. Dann kommt jedoch die folgende Fehlermeldung:[/size]

    [size=10]
    Der Typ 'http://www.ebinterface.at/schema/4p0/:AlphaNumType' ist kein einfacher Typ oder wurde nicht deklariert.
    Der besagte Typ AlphaNumType ist in Zeile 158 im Xsd File als simpleType definiert. Wo ist der Fehler?

    Die Fehler kommen unabhängig davon ob ich über XmlDocument .Load() oder mit der Klasse XmlReader validiere.

    Im Anhang findet sich meine Dummy E-Rechnung... Das Schema siehe Link oben!
    [/size]
    [size=10]
    [/size]

  • Hallo!
    Das Schema dort ist nur das "Delta-Schema".
    Es werden natürlich auch noch alle anderen XSD von ebInterface 4.0 benötigt (XMLDSig, ebInterfaceExtension und die SV-Extension).
    Dann sollte es mit dem TargetNamespace auch kein Problem mehr geben (außer das Tool unterstützt das nicht).

    Hinweis: schauen Sie sich doch den Source Code des ebInterface Word Plugins an: http://ebinterface.codeplex.com/

    Leider kenne ich mich in .NET nicht aus - warum stellt keiner Java Fragen :-|

    vg P. Helger

  • [color=#666666]Nochmal hallo zusammen, [/color][color=#666666]wenn ich eine Rechnung über den TestUpload ([/color]http://test.erb.gv.at/index.jsp?p=info_channel_testupload[color=#666666]) testen [/color]
    [color=#666666]lasse und ich die folgende meldunge bekomme:[/color]

    Die hochgeladene Datei kann wegen folgender Fehler nicht verarbeitet werden:

    • Feld "Invoice/InvoiceRecipient/OrderReference/OrderID":
      • [EBI40-0011] Der angegebene Wert '2012-32167' ist ungültig. Die Auftragsreferenz ist ungültig.


    [size=10][color=#666666][font='Verdana']Heisst das für mich, daß die Validierung grundsätzlich OK ist, jedoch der Inhalt, also die Auftragsreferenz, nicht gefunden wird?[/font][/color]
    [font='Verdana, Arial, Helvetica, sans-serif'][color=#666666]Kann ich hier davon ausgehen, dass das XML grundsätzlich den richtitgen Aufbau hat?[/color][/font][/size]

  • Danke für die Info, jedoch war dies nicht die Frage. Die erforderlichen Klassen lassen sich relativ einfach und schnell mit dem CMD Tool xsd.exe automatisiert
    erstellen. Nach eine kurzen Überarbeitung der Klassen (Namespace, Serialisierungsdetails, Konstruktoren usw.) kann eigentlich relativ schnell eine
    E-Rechnung im ebFormat erstellt werden. Die Herausforderung bei sooo vielen Xsd-Schema ist die Validierung. Da hänge ich ein bischen noch.. Wird schon.

    Schöne Grüße

  • Hallo zusammen,

    nun habe ich endlich das Problem gelöst!
    Die Validierung hat mir Probleme bereitet weil ich die .NET Klasse XmlReader auf genau die Art
    Instanziiert habe, wie ich es eben nicht sollte! ;)

    Wird für die Instanziierung der Type XmlReader, der Typ XmlDocument verwendet funktioniert alles so wie erwartet. Habe übrigens den Code aus der Implementierung des
    Word-PlugIns kopiert. Darum hat es soo lange gedauert, da ich davon ausgegangen bin dass der Code auch in meiner Umgebung funktioniert...

    XmlValidator.cs ==> Methode ValidateXmlDocument() ==> Wird der XmlReader über XmlReader.Create(xmlNodeReader, xXmlReaderSettings)
    erzeugt werden die End-Tags auch richtig gelesen...

    Siehe auch: http://social.msdn.microsoft.com/Forums/en-US/d…end-tag-problem !


    Schöne Grüße

  • Die hochgeladene Datei kann wegen folgender Fehler nicht verarbeitet werden:

    Feld "Invoice/InvoiceRecipient/OrderReference/OrderID":
    [EBI40-0011] Der angegebene Wert '2012-32167' ist ungültig. Die Auftragsreferenz ist ungültig.


    Heisst das für mich, daß die Validierung grundsätzlich OK ist, jedoch der Inhalt, also die Auftragsreferenz, nicht gefunden wird?
    Kann ich hier davon ausgehen, dass das XML grundsätzlich den richtitgen Aufbau hat?

    Hallo!

    Das Layout der Auftragreferenz ist wichtig. Eine genaue Beschreibung finden Sie unter https://www.erb.gv.at/index.jsp?p=info_channel
    In diesem Fall wäre das XML ungültig und würde nicht angenommen werden!

    vg P. Helger

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!