Wednesday, March 21, 2012

Reports: Internet access

We have our webserver (http://www.mywebserver ) and the reporting services
2000 running on a different intranet server ( http://myrs2000). For some
time, we have exposed some RS reporting using the ReportViewer object on
several intranet web applications as well as within Sharepoint portal server
with no problem at all.
Now, there's a need to expose one RS report over the internet within a
webapplication hosted on our webserver. The first attempt was to use the
ReportViewer object that we've used in the past; something like the following:
<cc1:ReportViewer id="rv" runat="server"
ServerUrl="http://myrs2000/reportserver" ReportPath="/SalesReport
Width="850px" Height="600px"></cc1:ReportViewer>
We this application (webpage) is accesed via the intranet, everything works
fine; but it doesn't when accesed over the internet. Instead of displaying
the report-manager-window in a frame; we get something like "Internet
explorer cannot open this page".
Then I found that an additional tag (ReportServerExternalUrl) had to be
added to the RSWebApplication.config; although probably this has notting to
do with the ReportViewer object.
Then I added a web reference to the ReportServer webservice
(http://myrs2000/reportserver/reportservice.asmx) and then added some c# code
to render the reporting on the web page and everything works fine (even from
the Internet); it's just that this reports has some complexity (e.g liked
reports) and thefore it's best to display it with the ReportViewer object.
Apart for having to add some code for the webservice call to work, like
adding network credentials; why this approach works and the other doesn't?
Any ideas as to what it's missing from the first approach (ReportViewer) ?
Why is it not working?
Is it neccesary to add the ReportServerExternalUrl with a value something
like http://myReportPortal,com for the ReportViewer object to work? And use
this value in the ServerUrl of the report viewer property ?
Thanks in advance.
Regards,
CesarOn Nov 2, 1:27 pm, Cesar <Ce...@.discussions.microsoft.com> wrote:
> We have our webserver (http://www.mywebserver) and the reporting services
> 2000 running on a different intranet server (http://myrs2000). For some
> time, we have exposed some RS reporting using the ReportViewer object on
> several intranet web applications as well as within Sharepoint portal server
> with no problem at all.
> Now, there's a need to expose one RS report over the internet within a
> webapplication hosted on our webserver. The first attempt was to use the
> ReportViewer object that we've used in the past; something like the following:
> <cc1:ReportViewer id="rv" runat="server"
> ServerUrl="http://myrs2000/reportserver" ReportPath="/SalesReport
> Width="850px" Height="600px"></cc1:ReportViewer>
> We this application (webpage) is accesed via the intranet, everything works
> fine; but it doesn't when accesed over the internet. Instead of displaying
> the report-manager-window in a frame; we get something like "Internet
> explorer cannot open this page".
> Then I found that an additional tag (ReportServerExternalUrl) had to be
> added to the RSWebApplication.config; although probably this has notting to
> do with the ReportViewer object.
> Then I added a web reference to the ReportServer webservice
> (http://myrs2000/reportserver/reportservice.asmx) and then added some c# code
> to render the reporting on the web page and everything works fine (even from
> the Internet); it's just that this reports has some complexity (e.g liked
> reports) and thefore it's best to display it with the ReportViewer object.
> Apart for having to add some code for the webservice call to work, like
> adding network credentials; why this approach works and the other doesn't?
> Any ideas as to what it's missing from the first approach (ReportViewer) ?
> Why is it not working?
> Is it neccesary to add the ReportServerExternalUrl with a value something
> likehttp://myReportPortal,comfor the ReportViewer object to work? And use
> this value in the ServerUrl of the report viewer property ?
> Thanks in advance.
> Regards,
> Cesar
The Report Manager and SSRS require domain user access to work
correctly. The web service allows for a trusted domain user account to
be used (i.e., network credentials), where as the report viewer
control does not default to an internal domain user account. You can
try either setting the connection to an internal domain account
programmatically during the rendering of the report viewer -or- use
the SSRS web service to export the report to a predefined format and
then view it in a web page. Hope this helps.
Regards,
Enrique Martinez
Sr. Software Consultant

No comments:

Post a Comment