Sample code for 30+ languages & platforms
B4X Requires Chilkat v11.0.0+

Aruba Fatturazione Elettronica Get Zip by Filename

See more Aruba Fatturazione Examples

Returns an invoice with all of its notifications in Zip format (e.g. IT01879020517_abcde.xml.p7m).

Chilkat B4X Downloads

B4X
Dim success As Boolean = False

'  This example assumes the Chilkat API to have been previously unlocked.
'  See Global Unlock Sample for sample code.

Dim http As ChilkatHttp
http.Initialize("http")

'  Implements the following CURL command:

'  curl -X GET https://ws.fatturazioneelettronica.aruba.it/services/invoice/in/getZipByFilename?filename=IT01879020517_jtlk1.xml.p7m \
'    -H "Accept: application/json" \
'    -H "Authorization: Bearer NLOGDVXLVaF3tzmnVPkTwpkuh7dG0i09uSCcog3u+rE="

'  Use the following online tool to generate HTTP code from a CURL command
'  Convert a cURL Command to HTTP Source Code

'  Adds the "Authorization: Bearer NLOGDVXLVaF3tzmnVPkTwpkuh7dG0i09uSCcog3u+rE=" header.
http.AuthToken = "NLOGDVXLVaF3tzmnVPkTwpkuh7dG0i09uSCcog3u+rE="
http.SetRequestHeader("Accept", "application/json")

Dim bdZip As ChilkatBinData
bdZip.Initialize
success = http.QuickGetBd("https://ws.fatturazioneelettronica.aruba.it/services/invoice/in/getZipByFilename?filename=IT01879020517_jtlk1.xml.p7m", bdZip)
If success = False Then
    Log(http.LastErrorText)
    Return
End If


Dim respStatusCode As Int = http.LastStatus
Log("response status code = " & respStatusCode)

If respStatusCode <> 200 Then
    '  If it failed, the response body will not contain the .zip file data.
    '  It will likely contain an error message.
    Log(bdZip.GetString("utf-8"))
    Log("Failed.")
    Return
End If


'  Open the zip and extract the .p7m
Dim zip As ChilkatZip
zip.Initialize("zip")

success = zip.OpenBd(bdZip)
If success = False Then
    Log(zip.LastErrorText)
    Return
End If


'  If desired, we can unzip to the filesystem..
Dim numUnzipped As Int = zip.Unzip("c:/mySignedInvoices")
If numUnzipped < 0 Then
    Log(zip.LastErrorText)
    Return
End If


'  Alternatively, we can unzip into memory..
Dim entry As ChilkatZipEntry
entry.Initialize("entry")
success = zip.EntryAt(0, entry)
If success = False Then
    Log(zip.LastErrorText)
    Return
End If


Dim bdP7m As ChilkatBinData
bdP7m.Initialize
success = entry.UnzipToBd(bdP7m)
If success = False Then
    Log(entry.LastErrorText)
    Return
End If


'  Verify the signature and extract the XML from the p7m
'  If the signature verification is successful, the contents of bdP7m are unwrapped and what
'  remains is the original signed document..
Dim crypt As ChilkatCrypt2
crypt.Initialize("crypt")
success = crypt.OpaqueVerifyBd(bdP7m)
If success = False Then
    Log(crypt.LastErrorText)
    Return
End If


Log("The signature was verified.")

'  The bdp7m now contains the XML that was originally signed.
Log("Original XML:")
Log(bdP7m.GetString("utf-8"))