Wizard Generates WDDX Error


Sometimes you can get into a state where a wizard will only generate a WDDX error.

The Problem

Error Occurred While Processing Request 
WDDX packet parse error at line -1, column -1. Premature end of file.. 

The error occurred in C:\Inetpub2\Farcry\core\packages\types 
\dmWizard.cfc: line 62 
Called from C:\Inetpub2\Farcry\core\tags\wizard\wizard.cfm: line 52 
Called from C:\Inetpub2\Farcry\core\packages\types\types.cfc: line 954 

The wizard framework captures all the state information for the multi-step form in an XML packet (in the WDDX XML format) and stores this in the database between steps. This error is generated when the XML file is truncated. The wizard tries to re-establish its state and fails because it can't parse the XML.

This normally occurs if the amount of data is very large and the datasource for the application has a limit on the size of SQL data that is allowed through its longtext buffer. By default in ColdFusion this is about 64k. If you try and push a larger amount through the datasource it truncates the data. So when the page content, and the associated wizard metadata exceeds this size you run into problems.

The Solution

To get rid of the badly behaving wizard you will need to delete its record from the database. If you have no contributors logged on to the system you can do this easily by truncating the dmWizard table.

Then you will need to increase the long text buffer value for your datasource in the ColdFusion administrator. Have a look under the datasource's "Advanced Options".

Increasing the size of the long text buffer can decrease the overall performance of your datasource. So only increase the value to the size required.