EricCreateTH

Function EricCreateTH 

Source
pub unsafe extern "C" fn EricCreateTH(
    xml: *const c_char,
    verfahren: *const c_char,
    datenart: *const c_char,
    vorgang: *const c_char,
    testmerker: *const c_char,
    herstellerId: *const c_char,
    datenLieferant: *const c_char,
    versionClient: *const c_char,
    publicKey: *const byteChar,
    xmlRueckgabePuffer: EricRueckgabepufferHandle,
) -> c_int
Expand description

@brief Diese Funktion erzeugt einen TransferHeader.

Dieser ist der oberste Header in der Datenstruktur. Er enthält Felder für die Kommunikation zwischen Server und Client. Es wird nur die Kombination NutzdatenHeader-Version “11” und TransferHeader-Version “11” unterstützt.

Zur Erzeugung, Verwendung und Freigabe von Rückgabepuffern siehe Dokumentation zu ::EricRueckgabepufferHandle.

@param[in] xml @parblock XML-Datensatz, für den der <TransferHeader>-Block erzeugt werden soll.

         Es kann entweder ein komplettes Elster-XML oder nur der Datenteil übergeben werden.

         ERiC nimmt bei diesem Parameter keine Konvertierung von Sonderzeichen in Entitätenreferenzen vor.

         Attribute, die in den Start-Tags der Elemente \<Elster>
         bzw. \<DatenTeil> im übergebenen XML-Datensatz definiert werden, werden nicht in
         das Rückgabe-XML übernommen.

         Namespace-Definitionen, die in den Start-Tags der Elemente \<Elster>
         bzw. \<DatenTeil> im übergebenen XML-Datensatz definiert werden, führen zu einem ::ERIC_IO_PARSE_FEHLER.

         Im Rückgabe-XML werden im Start-Tag des Elements \<Elster> die URI "http://www.elster.de/elsterxml/schema/v11" als
         Default-Namensraum definiert.

         Die dem Element \<DatenTeil>
         untergeordneten Elemente aus dem übergebenen XML-Datensatz werden
         unverändert übernommen.

         Der allgemeine Aufbau des Elster-XMLs wird im
         @typeDokumentation{ERiC-Entwicklerhandbuch.pdf}, Kap. "Datenverarbeitung mit ERiC"
         beschrieben.
 @endparblock

@param[in] verfahren Name des Verfahrens, z.B: ‘ElsterAnmeldung’, siehe @typeDokumentation{ERiC-Entwicklerhandbuch.pdf}, Tabelle “Eigenschaften der Datenart” im jeweiligen Kapitel zur Datenart. @param[in] datenart Name der Datenart, z.B.:‘LStB’ oder ‘UStVA’, siehe @typeDokumentation{ERiC-Entwicklerhandbuch.pdf}, Tabelle “Eigenschaften der Datenart” im jeweiligen Kapitel zur Datenart. @param[in] vorgang Name der Übertragungsart, z.B. ‘send-NoSig’, siehe @typeDokumentation{ERiC-Entwicklerhandbuch.pdf}, Tabelle “Eigenschaften der Datenart” im jeweiligen Kapitel zur Datenart. @param[in] testmerker @parblock Für eine Testübertragung muss der entsprechende Testmerker angegeben werden, siehe @typeDokumentation{ERiC-Entwicklerhandbuch.pdf}, Kap. “Test Unterstützung bei der ERiC-Anbindung”.

         Falls ein Echtfall übertragen werden soll, muss der Wert NULL angegeben werden.
 @endparblock

@param[in] herstellerId Hersteller-ID des Softwareproduktes. @param[in] datenLieferant @parblock Der Wert entspricht dem XML-Element <DatenLieferant>, wie es im Schema des Transferheaders der ElsterBasis-XML-Schnittstelle definiert ist.

         ERiC konvertiert bei diesem Parameter Sonderzeichen in Entitätenreferenzen.
 @endparblock

@param[in] versionClient @parblock Angabe von Versionsinformation, die in der Serverantwort auch zurückgegeben wird und ausgewertet werden kann. Der Wert NULL entspricht “keine Angabe von Versionsinformation”, d.h. es wird kein XML-Element <VersionClient> im <TransferHeader>-Block erzeugt.

         ERiC konvertiert bei diesem Parameter Sonderzeichen in Entitätenreferenzen.
 @endparblock

@param[in] publicKey @parblock Öffentlicher Schlüssel für die Transportverschlüsselung beim Verfahren ElsterLohn. Bei anderen Verfahren sollte NULL übergeben werden.

         Dieser Wert kann mit dem Rückgabewert von ::EricGetPublicKey() befüllt
         werden.
         Der Inhalt dieses Parameters wird in das \<TransportSchluessel>-Element
         der Rückgabe-XML geschrieben.
 @endparblock

@param[out] xmlRueckgabePuffer @parblock Handle auf einen Rückgabepuffer, in den das Elster-XML mit dem erzeugten TransportHeader geschrieben wird, siehe ::EricRueckgabepufferHandle.

         Es wird immer ein vollständiger
         Elster-XML-Datensatz mit dem \<Elster>-Element als Wurzel-Element
         zurückgeliefert. Bzgl. der darin enthaltenen XML-Namespace-Definitionen sind
         die bei der Beschreibung des Parameters "xml" genannten Einschränkungen
         zu berücksichtigen.
 @endparblock

@return - ::ERIC_OK - ::ERIC_GLOBAL_NULL_PARAMETER - ::ERIC_GLOBAL_NICHT_GENUEGEND_ARBEITSSPEICHER - ::ERIC_TRANSFER_ERR_XML_ENCODING: Die übergebenen XML-Daten sind nicht UTF-8 kodiert. - ::ERIC_IO_PARSE_FEHLER - ::ERIC_IO_DATENTEILNOTFOUND - ::ERIC_IO_DATENTEILENDNOTFOUND - weitere, siehe eric_fehlercodes.h

@see - @typeDokumentation{ERiC-Entwicklerhandbuch.pdf}, Kap. “Datenverarbeitung mit ERiC” - @typeDokumentation{ERiC-Entwicklerhandbuch.pdf}, Kap. “Anwendungsfälle von EricBearbeiteVorgang()” - ERiC-Returncodes und Fehlertexte sind in eric_fehlercodes.h zu finden.