Friday, March 9, 2012

Major Multiple connection problem RS2000 with SOAP

Hi Everyone,

I am having a big problem here.

I am using Reporting Service 2000 and Visual Studio 2005. I have developed a custom web control which communicates with reporting web service and displays report. I pass username, password and domain information as network credential for communicating with report server (report server is remote). This is a web application in which users can see reports on the web page which uses my custom web control.

Everything works fine when there is single user. But when another user logs onto website and tries to access same or different report it seems like connection of the first user gets lost. And everything crashes for first user and for second user it works fine.

In fact if second user is accessing the same report then first user can see second user's report information which is no at all acceptable. I am sure that should be some way so that multiple users can communicate with reporting server programmatically at the same time. Microsoft wouldn't make reporting web service so that only one user can access report at a time, would they?

Can anyone help me with this problem? ANyhelp will be greatly appreciated.

I don't have anonymous access enabled. I am using integrated windows authentication. Earlier i was trying to authenticate all users with one administartor credentials to communicate with Reporting web service. But then i changed my code so that it takes individual user's credentials. But this didn't make any difference.

I read in one reporting service book that Report server overwrites SessionID member after each call to the Render method. Therefore, two subsequent report requests will share same sessions only if they ask for the same report (assuming that the parameter set is same)

For example, let's say you run report A, then report B, and then report A again. When report B is rendered, its session identifier will overwrite the previous session identifier, which means that you will lose report A's session identifier. When report A is run again, even if the parameter set is the same, its execution will create a new report session and IsNewExecution will return true.

So i think this overwriting of SessionID by report server is causing the problem. But i don't know yet how to program so that it maintains proper SessionID for each user and hence doesn't crash for any user.

If anyone has any idea for solving this problem then please let me know. Thanks in advance.

No comments:

Post a Comment