KNOWLEDGE BASE

"Failed with Error Code: 500" response when publishing in chunks with the REST API


Product(s): Tableau Online, Tableau Server
Version(s): 9.2
Last Modified Date: 16 Aug 2016

Issue

If you use the REST API to publish a workbook or data source to Tableau Server 9.2 or later, you get a 500 error during the following calls, and the publish process fails:

Environment

  • Tableau Server 9.2 (REST API 2.1)

Cause

This issue can occur if the payload in the request does not conform to the RFC 1341 specification for multi-part payloads. A typical problem is that the first part of the multi-part request is blank except for header information. Per the specification, a blank section of the payload requires at least two blank lines. In the Append to File Upload, Publish Datasource, and Publish Workbook requests, the blank section of the payload is the request_payload section.

Changes since Tableau Server 9.0-9.1

The issue can occur even with workbooks or data sources that were published successfully using Tableau Server 9.0 or 9.1. In Tableau Server 9.2, changes were made to how the REST API requests are processed internally in Tableau Server. As part of these changes, the REST API now validates requests more rigorously than in previous versions.

For this particular error, earlier versions of the REST API accepted a payload that did not exactly conform to the RFC 1341 specification. When the same request is made to Tableau Server 9.2, the request now fails.

Resolution

Make sure that the payload for a Append to File Upload, Publish Datasource, and Publish Workbook request is formatted correctly, as shown in the following example. (The boundary strings, name, and filename values will be different for each upload.) The request_payload part of the request payload has no content, just headers, and is formatted with two blank lines.

--6691a87289ac461bab2c945741f136e6
Content-Disposition: name="request_payload"
Content-Type: text/xml


--6691a87289ac461bab2c945741f136e6
Content-Disposition: name="tableau_workbook"; filename="usps-rates.twbx"
Content-Type: application/octet-stream

content here
--6691a87289ac461bab2c945741f136e6--

Additional information

For more information about changes to the REST API, see What's New in the REST API. For information about publishing workbooks or data sources using the REST API, see Publishing Resources.

 

Did this article resolve the issue?