in

Prologika Forums

Business Intelligence to the Masses
Latest post 08-28-2008 2:15 PM by tlachev. 1 replies.
Page 1 of 1 (2 items)
Sort Posts: Previous Next
  • 08-28-2008 11:10 AM

    rs.Render in SSL

    Hello. We are running Reporting Services 2000. We have a Web Service in C# we are using to call into Reporting Services and return the report data in XML. Here is a portion of the code:

    ReportingServices rs = new ReportingServices();
    rs.Credentials = new System.Net.NetworkCredentials("UserNameGoesHere",
                                                                              "PasswordGoesHere",
                                                                              "127.0.0.1");

    ParameterValue[] parameters = // filled in by caller
    DataSourceCredentials[] credentials = null;

    result = rs.Render(reportPath,
                               "XML", 
                               null, 
                               @"<DeviceInfo><Toolbar>False</Toolbar></DeviceInfo>", 
                               parameters, 
                               credentials, 
                               null, 
                               out encoding, 
                               out mimeTime, 
                               out outParams, 
                               out warnings, 
                               out streamIDs):

    This works fine if the Reports and ReportServer virtual roots are NOT configured to use SSL. (Go to IIS, right click on virtual root, click Properties, click on Directory Security, click on Edit under Secure communications - the Require secure channel (SSL) is not checked.)

    But code does not work if Require SSL is checked. We get a 403 Forbidden error.

    Is there a way to make this code work in both cases: both when SSL is required and not required on the Reports and ReportServer virtual roots?

    Thanks.

    EDIT: I tried to change rs.Url to be https:// instead of http://. I got the exception: Could not establish trust relationship for the SSL/TLS secure channel.

  • 08-28-2008 2:15 PM In reply to

    Re: rs.Render in SSL

    Did you?

    RSReportServer.config
    Change <URLRoot> setting to your https URL, such as https://server/ReportServer

    RSWebApplication.config 
    Update <ReportServerUrl> to include the name used in the certificate.

    <ReportServerUrl>https://<name>/ReportServer</ReportServerUrl>

    What requires is controlled by the SecureConnectionLevel setting in RSReportServer.config:

    <Add Key="SecureConnectionLevel" Value="2"/>

    Acceptable values are:

    3 Most secure—Use SSL for absolutely everything.
    2 Secure—Use SSL for rendering and methods that pass credentials but don't insist on it for all SOAP calls.
    1 Basic Security—Accepts http but rejects any calls that might be involved in the passing of credentials.
    0 Least Secure—Don't use SSL at all.

    If all is well, BIDS deployment should work with the https URL.

Page 1 of 1 (2 items)
Copyright © 2005 Prologika, LLC
Powered by Community Server (Commercial Edition), by Telligent Systems