Showing posts with label custom. Show all posts
Showing posts with label custom. Show all posts

Friday, March 9, 2012

Major Problem!...Multiple user connection problem in reporting service 2000 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 there 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? Any help will be greatly appreciated.

Sounds like your users are being identified as the same person which would suggest annonymous access is being used or your web control is passing the same credentials for both users. I'm not sure how you've coded it or whether you are doing any caching or storing session state somewhere.

You have to narrow down what is at fault here. I would suggest the following:

Set your report server and report manager virtual directories to integrated or basic authentication and have 2 separate users access report manager at the same time|||

Thanks Adam for quick reply.

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.

|||Figured out. It was bug in my code. Accidentlly i had declared Parameter property as static in my code and because of that one user's report was using other user's property and which was making program crash. Thanks for reply though.

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.

Major difficulties deploying a custom data extension

I have been trying for days to get a custmized data extension that I
built using the example at:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnsql2k/html/RSDSetEx3.asp
to be recognized by the report server on a Windows 2003 box. It is
recognized and works well on my development machine. I have followed
the recommended steps outlined below:
1) Create an entry in RSReportServer.config:
<Extension Name="Dataset"
Type="DataSetExtension.DSXConnection,RSCustomData"/>
DatesetExtension.DSXConnection is the correct namespace (I customized
it), RSCustomData.dll is the name of the assembly which has been placed
in the following folder:
C:\Program Files\Microsoft SQL Server\MSSQL\Reporting
Services\ReportServer\bin
2) Create a new code group entry in rssrvpolicy.config. This
potentially could be the source of the problem, as I have received
conflicting recommendations on where in the code group heirarchy I
should place the new entry. I am currently placing it under the
"Url="$CodeGen$/*" entry
3) Restarted IIS and restarted SQLServer. Is there any reason why the
PC should have to be restarted? When does RSReportServer.config and
rssrvpolicy.config get loaded?
I then created a web service client and called the ListExtensions
method of the resportservice.asmx web service. It only lists the
original 4 data extensions - SQL, OLEDB, ORACLE and ODBC. After
dozends of attempts over several days and after reinstalling Reporting
Services, I still am having no luck getting the data extension to be
recognized on the server. Even though it works great on the dev
machine and I can step through the code without a problem.
Bonus question: One post mentioned the
<securityPolicy>
<trustLevel name="RosettaSrv" policyFile="rssrvpolicy.config"
/>
</securityPolicy>
<trust level="RosettaSrv" originUrl="" />
entry in web.config as a potential source of the problem. Searches on
google for RosettaSrv turn up almost nothing. Does this have any
effect on giving permissions to custom assemblies?
Thanks in advance for your help.I worked with Microsoft and got the problem solved. It was a
permissions issue on the assembly that I copied from my development
machine to the reporting server. We used filemon.exe to show that the
assembly was not being loaded. Other notes from Microsoft:
"Resolution:
By adding read & execute permissions to the Report Server directory for
the Users group, and allowing parent permissions to propagate to the
custom dll in the bin directory, the report server was able to load the
custom dll and display the custom data extension. In resolving this
case we used FileMon from SysInternals.com.