Export to PDF fails with "An unexpected error has occurred. Please see the instance logs for more details" — caused by incorrect glide.servlet.uri or com.snc.whtp.hostIssue <!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } Exporting a record or a list to PDF fails with: An unexpected error has occurred. Please see the instance logs for more details This article covers one specific cause: the PDF rendering server cannot reach the instance because the properties that control the callback are pointing at the wrong place. This most commonly happens after a clone. Symptoms<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } Export to PDF fails from a form view, a list view, or bothThe export dialog runs and then errors, or completes without producing a usable attachmentScheduled reports delivered as PDF fail or arrive unreadableFailure is instance-wide rather than limited to specific records or users Common trigger: the failure begins immediately after a clone from production to a sub-production instance. Release<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } Feature: Export to PDF from list and form views, and PDF-format scheduled reportsComponents: the WHTP or PAREXPORT rendering serverSupported URL configurations: the default instance URL (https://<instance-name>.service-now.com) or an instance using the Custom URL plugin Cause<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } PDF export is not rendered by the instance itself. The instance hands the request to a separate rendering server (WHTP or PAREXPORT), and that server calls back to the instance to retrieve the content it needs to render. Two properties control that callback: glide.servlet.uri — the instance URL the renderer connects back to. If it points at a different instance, or at a URL the renderer cannot reach, the connection fails and the export errors. com.snc.whtp.host — identifies which renderer is in use. If it is empty or set to the wrong value, the request either goes nowhere or produces an attachment reference that doesn't resolve. Why clones are the usual trigger: sys_properties holds instance-specific values. If it isn't excluded from the clone, the target instance inherits the source instance's glide.servlet.uri — so the renderer working on behalf of the sub-production instance tries to call back to production, and fails. Resolution<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } Work through these in order. Step 1 — Check com.snc.whtp.host Navigate to System Properties → All Properties and locate com.snc.whtp.host. Expected values: ReleaseValuePre-Romehttp://whtpPost-Rome upgradehttp://parexport If the value is empty: set it to the correct value for your release from the table above. An empty value typically presents as a seemingly successful export that then fails with "Requested attachment does not exist."If the value is wrong: correct it to match your release.If the value is correct: continue to Step 2. Step 2 — Verify glide.servlet.uri Run the following in Scripts - Background: javascript var property = gs.getProperty('glide.servlet.uri'); gs.print(property); The value returned must be the URL of the instance you are running the script on. If it returns the correct instance URL: continue to Step 3.If it returns a different instance's URL (commonly the clone source): this is the cause. Correct it to this instance's URL, then re-test the export. Complete Step 4 to prevent recurrence. Step 3 — Check how the instance is being accessed If both properties are correct and the export still fails, determine whether the instance is reached via the default instance URL or via a vanity or proxy URL. Supported for PDF export: the default instance URL, or an instance using the Custom URL plugin. Scope note: issues arising from customer-managed vanity URLs and reverse proxies are outside the scope of ServiceNow Support. Where a non-standard URL is in use, requests from the rendering server back to the instance may be rejected — typically by IP access controls, a proxy rule, or a firewall on the customer side. Verify that the rendering server's return traffic is permitted to reach the instance through that path. If PDF export is required and the URL configuration cannot be changed, move to the Custom URL plugin. Step 4 — Prevent recurrence after clones If the cause was clone-inherited configuration, correct the clone profile so it doesn't recur on the next clone: Add sys_properties to the clone exclude list, orCreate a clone data preserver for the instance-specific properties you need to retain Then re-validate PDF export on the target instance after the next clone. Verification After applying a fix: Export a single record to PDF from a form view.Export a list to PDF.Open both files and confirm they render.If PDF-format scheduled reports were affected, trigger one and confirm the attachment is readable. Related Links<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } Other causes of PDF export failure: KB2821258 — Export to PDF fails with base64Data is null (iText; workaround via glide.export.pdf.donot_split_row)KB2551721 — PDF Export fails with "Export Canceled" (corrupt DocSSAService record)KB1702794 — "Error: Export failed using PARExport server" (PRB1741262 / PRB1805547 / PRB1775700 / PRB1852249)KB1899870 — referenced by KB1702794 for the PARExport server error