Friday, March 23, 2012

ReportServer Web Service Problem

Hi,
We're getting some really odd behavior from ReportServer calls (e.g.
CreateReport, CreateDataSource). They all complete successfully, but
SOMETIMES create no objects! (at least they are not visible in the Report
Manager and Report Server). It looks like something must "committed" in order
to make changes permanent, I don't know. The behavior is really strange,
because it happens only from time to time, maybe every 5th run in a row (just
by running the same code multiple times and deleting objects between runs).
This is on SQL Express 2005 (haven't tried on other editions, because we
need the free one).
The sequence is as follows:
ReportServer.CreateFolder("test", "/", null);
ReportServer.CreateDataSource("testds", "/test", true, dsdef, null);
ReportServer.CreateReport("testrep", "/test", true, binaryRdl, null);
Report server calls are made through the stub generated from WSDL file taken
from the same server.
Any ideas why this could happen? Maybe servers transactions must be
committed somehow? Or do we need to close report server connection, or call
Logoff method?
Thanks,
MikeMore info on this issue. When I hit refresh in IE in the Report Manager, the
newly created item is not listed, but when I hit F5 multiple times, it
sometimes dumps the following: The item '/test' cannot be found.
(rsItemNotFound). "/test" - is the object that is "half-created" through
CreateFolder call. Looks like a bug in SRS, right?|||Looks like SRS maintains a sort of internal cache for deleted objects and all
management functions (Create*) get stuck on this cache. The workaround for
the issue I explained above is to wait "a little bit" (like 30-50 seconds),
until deleted objects finally "disappear". Microsoft should address this
issue in their future releases.

No comments:

Post a Comment