This is a big deal if the report takes a long time to run. I would expect a method called getPrompts to, you know, get the list of prompts.
After a few rounds with support, I got the answer:
reportSource.setExecutionFlags(EnumDSSXMLExecutionFlags.DssXmlExecutionResolve);
Note that call is on the ReportSource before getting the ReportInstance.
Same goes for Documents.
Speaking of WTF's with MicroStrategy's Web SDK - even though all subclasses of WebResultSetInstance (documents and reports) implement a getMessage() method that returns a subclass of WebMessage, the method is implemented only on the individual subclasses.
In other words, instead of this:
class WebResultSetInstance { public WebMessage getMessage() }
you get this
class WebDocumentInstance { public WebDocumentMessage getMessage() } class WebReportInstance { public WebReportMessage getMessage() }
This is annoying, because it prevents you from doing something like this
resultSetInstance.getMessage().removeFromInbox()
interchangeably with a report or document. You need to treat both report and document cases separately.