Function eric_bindings::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_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 XML-Datensatz, für den der TransferHeader erzeugt werden soll. \n Es kann entweder ein komplettes Elster-XML oder nur der Datenteil übergeben werden. \n ERiC nimmt bei diesem Parameter keine Konvertierung von Sonderzeichen in Entitätenreferenzen vor. \n 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. \n 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. \n 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. \n Der allgemeine Aufbau des Elster-XMLs wird im ERiC-Entwicklerhandbuch.pdf im Kapitel “Datenverarbeitung mit ERiC” beschrieben. @param[in] verfahren Name des Verfahrens, z.B: ‘ElsterAnmeldung’, siehe ERiC-Entwicklerhandbuch.pdf, Tabelle “Eigenschaften der Datenart” im jeweiligen Kapitel zur Datenart. @param[in] datenart Name der Datenart, z.B.:‘LStB’ oder ‘UStVA’, siehe ERiC-Entwicklerhandbuch.pdf, Tabelle “Eigenschaften der Datenart” im jeweiligen Kapitel zur Datenart. @param[in] vorgang Name der Übertragungsart, z.B. ‘send-NoSig’, siehe ERiC-Entwicklerhandbuch.pdf, Tabelle “Eigenschaften der Datenart” im jeweiligen Kapitel zur Datenart. @param[in] testmerker Für eine Testübertragung muss der entsprechende Testmerker angegeben werden, siehe ERiC-Entwicklerhandbuch.pdf, Kap. “Test Unterstützung bei der ERiC-Anbindung”. Falls ein Echtfall übertragen werden soll, muss der Wert NULL angegeben werden. @param[in] herstellerId Hersteller-ID des Softwareproduktes. @param[in] datenLieferant Der Wert entspricht dem XML-Element “DatenLieferant”, wie es im Schema des Transferheaders der ElsterBasis-XML-Schnittstelle definiert ist. \n ERiC konvertiert bei diesem Parameter Sonderzeichen in Entitätenreferenzen. @param[in] versionClient 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 Element VersionClient im Transferheader erzeugt. \n ERiC konvertiert bei diesem Parameter Sonderzeichen in Entitätenreferenzen. @param[in] publicKey Ö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. @param[out] xmlRueckgabePuffer 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.
@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 - ERiC-Entwicklerhandbuch.pdf, Kap. “Datenverarbeitung mit ERiC” - ERiC-Entwicklerhandbuch.pdf, Kap. “Anwendungsfälle von EricBearbeiteVorgang()” - ERiC-Returncodes und Fehlertexte sind in eric_fehlercodes.h zu finden.