Corrupted Binary Files (PDF) when downloading from GCS via MID Server using RESTMessageV2
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
5 hours ago
Hi Everyone,
I am facing a persistent issue where PDF files downloaded from Google Cloud Storage (GCS) via a MID Server are becoming corrupted. When the file reaches the browser, it shows "Something went wrong" or contains error text like "Invalid Credentials" instead of the actual PDF bytes.
Environment:
Source: Google Cloud Storage (GCS).
Bridge: MID Server (RESTMessageV2) using the Metadata URL for OAuth Token retrieval.
Trigger: Client-side UI Action using GlideAjax.
The Current Approach:
UI Action calls a Script Include via GlideAjax.
Script Include triggers RESTMessageV2 through the MID Server.
The Script Include waits for the ecc_queue response.
Once received, the response content is sent back to the client and converted into a Blob for download.
The Problems:
Binary Corruption: Since the MID Server returns the file as a string in the XML payload, the PDF binary data is being mangled by UTF-8 encoding.
Error Handling: If the GCS request fails (e.g., 401 Unauthorized), the JSON error message is being treated as the file content, resulting in a PDF that contains the text "Invalid Credentials."
File Size Limits: Files larger than 5MB are not appearing in the <output> tag of the ECC Queue, returning null instead.

