DataFlex
DataFlex
Compress EBICS SignaturePubKeyOrderData XML
See more EBICS Examples
This example provides a note about how to compress the SignaturePubKeyOrderData XML for EBICS.Chilkat DataFlex Downloads
Use ChilkatAx-win32.pkg
Procedure Test
Handle hoFac
String sStrXml
Handle hoCompress
String sB64CompressedStr
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
// We have this XML to be compressed and then encoded in Base64.
// <?xml version="1.0" encoding="UTF-8"?>
// <SignaturePubKeyOrderData xmlns="http://www.ebics.org/S001" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.ebics.org/S001 http://www.ebics.org/S001/ebics_signature.xsd">
// <SignaturePubKeyInfo>
// <ds:X509Data>
// <ds:X509IssuerSerial>
// <ds:X509IssuerName>ABCDEF eID User</ds:X509IssuerName>
// <ds:X509SerialNumber>153594950300874710199347185895388116050</ds:X509SerialNumber>
// </ds:X509IssuerSerial>
// <ds:X509Certificate>MIIJTzCC...xzKyukE=</ds:X509Certificate>
// </ds:X509Data>
// <PubKeyValue>
// <ds:RSAKeyValue><ds:Modulus>zedQEG0gNItQRG17p7CwiSv/N9YUBOzswEnfNSiNirQgb0bfWWAvCXOg7057WTCBMxOe7AHE7rLTTQFRHY2AEqSV1fj8iL7i186XnGQOFjsdVP3LBLV319HhoUIugaZOC5AbnDouq2Femr53NDK4fqYVI6skrvNo9LO4+8IBRNtR8lQudG+ABHCqIkrNjai1pXrjfEhvyAhz0URhqP00i3AUGD3BasM28uFhcNztqSfO/jp5xQOTAjSr2gCgwg9hJV5mVnOazwAEbWmKkW+NZGICrSdoyrJ+UKjbbhL6VI1woe2YufCYqYF0ec8bXdE9KlhHj+XjeaME3k/uBq22Kw==</ds:Modulus><ds:Exponent>AQAB</ds:Exponent></ds:RSAKeyValue>
// <TimeStamp>2015-03-06T18:42:24.376+01:00</TimeStamp>
// </PubKeyValue>
// <SignatureVersion>A005</SignatureVersion>
// </SignaturePubKeyInfo>
// <PartnerID>XKB99999</PartnerID>
// <UserID>XKB99999</UserID>
// </SignaturePubKeyOrderData>
Get Create (RefClass(cComCkFileAccess)) To hoFac
If (Not(IsComObjectCreated(hoFac))) Begin
Send CreateComObject of hoFac
End
Get ComReadEntireTextFile Of hoFac "qa_data/ebics/SignaturePubKeyOrderData.xml" "utf-8" To sStrXml
// Assuming the above statement succeeded...
Get Create (RefClass(cComChilkatCompression)) To hoCompress
If (Not(IsComObjectCreated(hoCompress))) Begin
Send CreateComObject of hoCompress
End
// EBICS wants the deflate algorithm with the zlib header...
Set ComAlgorithm Of hoCompress To "zlib"
Set ComEncodingMode Of hoCompress To "base64"
Get ComCompressStringENC Of hoCompress sStrXml To sB64CompressedStr
Showln sB64CompressedStr
End_Procedure