Bug: Web service data not cleared on exception
Description
If an exception is thrown during a web service (WSDL) data connection request call (you’re executing a request to a web service in order to get a response in return), the bound data accumulated by Acrobat (for submitting the request to the web service) is not cleared from the data connection’s "request data buffer/queue" (to put it in simple terms).
For example, if your form attempts to execute a WSDL data connection while there is no active connection to the Internet, the call to the
xfa.connectionSet.WSDLConnectionName.execute
method will fail with an exception (which you can catch by placing the call within a try-catch block) however the form data accumulated to be sent as part of the request operation isn’t cleared. If you are then resetting the form by clearing repeatable subform instances that contained data at the time the data connection was executed and then re-execute the data connection, the old instance data will still be sent as part of the new request even though it’s no longer part of the form (which is clearly not what you would want/expect).
Workaround
Fortunately, you can manually clear the "request data buffer/queue", located in
xfa.datasets.connectionData.WSDLConnectionName
where "WSDLConnectionName" is the name of your WSDL data connection, simply by using the "remove" function as follows:
xfa.datasets.connectionData.WSDLConnectionName.remove();
Fix
Please refer to the Bug List for updated information on the version(s) affected by this bug as well as if and when it was/will be fixed.
Posted by Stefan Cameron on May 5th, 2007
Filed under Acrobat,Bugs
Both comments and pings are currently closed.
The script
xfa.datasets.connectionData.WSDLConnectionName.remove();
doesn’t work. gives error message Invalid property get operation; dataModel doesn’t have property ‘connectionData’
@Chhavindra Gautam,
What’s the context of the call you’re making? Have you attempted to execute the connection and the call failed? What version of Acrobat or Reader are you using?