The GetXML method generates the XML infoset based on the data of the IGeneralInvoiceRequest interface and the XML generation attributes, validates the XML against the XSD schema, and stores the XML content as UTF8 file in the internal working directory. The full file name to this XML document is replied in the
pbstrOutputFile output variable.
The XML file must be saved to a different location as all temporary XML files in the working directory are deleted before the COM module shuts down!
As a migration help a transparent downgrade function is built in allowing to generate either V4.3 files or downgrade to V4.0, V4.1 files, respectively. The decision process is implicit and based on a white list of insurances ready to process V4.3. If an insurance EAN is not in the list there is an automatic downgrade. The white list itself is maintained by Suva - cf. compatibility measures for the details.
To allow for even more flexibility there is a patch implemented that allows to override the white list behavior and to enforce a downgrade or upgrade - cf . argument plTimestamp or pbstrUsedSchema!
Note about encryption: an encrypted XML infoset can not be loaded successfully by LoadXML. Therefore, to build a local archive besides encrypted XML infoset call GetXML twice once with the lXMLGenerationAttributes = enGenerateWithoutEncryption