API browser of generalInvoiceRequest450 COM module


/images/arrow_right.png IGeneralInvoiceRequestManager::GetXML method space
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!
 
Note about compatibility: the COM module is natively capable of producing the current generalInvoiceRequest_450 standard as well as its predecessor, generalInvoiceRequest_440 by using the lGenerationAttributes=enGenerateDowngradeToV440 command.
 
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
space
/images/arrow_right.png Restful webservice calling syntax
[POST] /baseURL/IGeneralInvoiceRequestManager/GetXML
[JSON input data] pIGeneralInvoiceRequestManager:
lGenerationAttributes:
plTimestamp:
longValue,    //interface address
longValue,
longValue
[JSON result data] pbstrOutputFile:
plValidationError:
plTimestamp:
pbstrUsedSchema:
pIGeneralInvoiceResult:
pbStatus:
"utf8StringValue",
longValue,
"utf8StringValue",
longValue,
booleanValue
 
[HTTP result status] 200 Return status 200 signals a successful method call
204 Return status 204 (noContent) signals that the end of an iteration is reached
>= 400 Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do.
space
/images/arrow_right.png C/C++ calling syntax
HRESULT GetXML( long
BSTR
long
long
BSTR
IGeneralInvoiceResult
VARIANT_BOOL
lGenerationAttributes,
*pbstrOutputFile,
*plValidationError,
*plTimestamp,
*pbstrUsedSchema,
**pIGeneralInvoiceResult,
*pbStatus);
[C/C++ return value] S_OK This value is returned if the function call was successful.
S_FALSE This value is returned if the end of an iteration is reached
E_name This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions.
space
/images/arrow_right.png Calling argument description
[in] long lGenerationAttributes This variable overrules the default behavior of the XML generation process even if the appropriate data have been defined.
 
lGenerationAttributes is a 32-bit integer where the possible "commands" are values from the generationAttributes data type ORed together to form the overall command.
 
This feature is necessary to generate different "flavors" of XML infosets without re-setting input data. For instance, an encrypted XML infoset for the "to" entity can be produced and in a second call the XML infoset without encryption (lGenerationAttributes=enGenerateXMLWithoutEncryption) is requested for a local archive (that can be loaded back later!).
 
Moreover, the downgrade to the lower version is defined by setting the enGenerateDowngradeToV440 bit.
[out] BSTR *pbstrOutputFile The full file name (path + name) where the XML infoset is stored in UTF-8 mode.
 
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!

In Restful Webservice output: pbstrOutputFile is a releative URL which must be downloaded in a subsequent GET process.

[out] long *plValidationError lValidationError is filled with the validation error code returned by the MSXML DOM parser. A zero value indicates that the validation was successful.
[in,out] long *plTimestamp The timestamp of the XML document as epoch time (seconds elapsed since 1.1.1970) that is used as timestamp of the topmost object reference from that point on.
 
If the timestamp for the topmost object reference was already set (e.g. to produce a copy) then this same timestamp is returned.
[out] BSTR *pbstrUsedSchema The full XSD name that was used to generate the XML infoset.
 
In a standard situation this would be generalInvoiceRequest_450.xsd. However, a downgrade to generalInvoiceRequest_440.xsd can be requested by using lGenerationAttributes=enGenerateDowngradeToV440.
[out] IGeneralInvoiceResult **pIGeneralInvoiceResult The instance of a IGeneralInvoiceResult interface allows to read all loaded data back.
The handle is NULL if an error occurred.
[out,retval] VARIANT_BOOL *pbStatus Return status of the method. If pbStatus is VARIANT_FALSE then an error occurred and GetAbortInfo should be called to retrieve the error string.
space