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_intExpand 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.