Michael_Lowry

XMLRequest operations that do not return status info via MessageBox

Discussion created by Michael_Lowry on May 7, 2018

API operations the request information from, or submit changes to, the Automation Engine are performing using XMLRequest, or subclasses thereof. The typical procedure looks something like this:

  1. If you are submitting AE requests asynchronously, start a response handler to handle responses from the AE.
  2. Instantiate an object of the XMLRequest subclass that corresponds to the operation you wish to perform. E.g., OpenObject, FolderTree, ExecuteObject, etc.
  3. Set any options using the methods of that class.
  4. Submit the XMLRequest using either sendRequest (asynchronous) or sendReqeustAndWait (synchronous).
  5. Use the getMessageBox method to return a MessageBox object containing the status of the request and any messages returned by the Automation Engine.

 

In this way, your app can be designed to handle warnings, errors, or other messages returned by the Automation Engine.

 

We had been operating under the assumption that the getMessageBox method would reliably tell us the overall final result of any XMLRequest operation. However, we had recently seen cases wherein getMessageBox returned null even though errors had occurred.

 

This morning CA Development informed me that three XMLRequest classes do not return all errors via getMessageBox. Instead, these three classes require additonal case-specific error handling:

 

XMLRequest sub-classCheck for errors using method(s)
ExecuteObjectgetMessageNumber(), getMessageText()
ExportObjectgetExportException()
ImportObjectgetImportMessages()

Outcomes