in

Prologika Forums

Business Intelligence to the Masses
Latest post 07-21-2008 9:08 PM by tlachev. 5 replies.
Page 1 of 1 (6 items)
Sort Posts: Previous Next
  • 06-20-2008 3:10 AM

    Custom Security Extension-parsing soap url

    Hi Teo,
    I am trying to trace the soap url using this code for finding out which operation has been performed on the report manager.

    if (request.Headers["SOAPAction"] == null)
    {
     // GET request
     Trace.WriteLine("request.Url = " + request.Url);
    }
    else
    {
     // POST request
     System.IO.Stream stream = request.InputStream;
     byte[ requestBody = new byte[stream.Length];
     stream.Read(requestBody, 0, requestBody.Length);
     request.InputStream.Position = 0L;
     Trace.WriteLine("request.Url = " + Encoding.ASCII.GetString(requestBody));
    }

    The problem is I'm not able to trace a request for update/delete report history snapshot and update/delete report subscription.

    When I click history tab of a report I get this url :
    <?xml version="1.0" encoding="utf-8"?>
    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <soap:Body>
    <ListReportHistory xmlns="http://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices">
    <Report>/Sample Reports/Employee Details Report</Report>
    </ListReportHistory>
    </soap:Body>
    </soap:Envelope>

    I was expecting to get similar url for DeleteReportHistorySnapshot but I get this one instead:

    <?xml version="1.0" encoding="utf-8"?>
    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <soap:Header>
    <BatchHeader xmlns="http://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices">
    <BatchID>be707613-46cf-418e-88db-80d16f57a260</BatchID>
    </BatchHeader>
    </soap:Header>
    <soap:Body><ExecuteBatch xmlns="http://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices" />
    </soap:Body>
    </soap:Envelope>

    Could you please give any hints on how do I find out what all is there in the BatchHeader that I get in this url or how do I identify that deleteReportHistorySnapshot has been called from report manager.

  • 06-20-2008 2:36 PM In reply to

    Re: Custom Security Extension-parsing soap url

    Sorry, i wasn't able to find more info about this one. I think batches doesn't make it to the authorization extension because they are handled internally by the server. Essentially, the server saves in the report server database all method invocation until ExecuteBatch is called. If you want you can try quering table Batch in the ReportServer database in an attempt to find what methods have been called. Not sure how useful this will be .

  • 07-18-2008 4:01 AM In reply to

    Re: Custom Security Extension-parsing soap url

    Hi Teo,

    In my custom security extension I'm getting problems with report subscriptions.
    I'm using System.Web.HttpContext.Current.Request object to find out what is the operation that the user is currently trying to perform on report manager.
    My observation is when subscriptions are executed, msrs makes an internal call to render that particular report where in ReportOperation.ReadProperties and ReportOperaiton.ExecuteAndView properties are accessed.
    I think the problem is these internal calls do not get through the current.request object.

    How can I trace all the requests made internally?

  • 07-18-2008 11:57 AM In reply to

    Re: Custom Security Extension-parsing soap url

    Report subscrption execution is handled by the RS Windows service via internal interfaces. So, you won't be able to intercept the subscription execution event. However, you should be able to trace the subscription management events, such as when the user creates a new subscription.

  • 07-21-2008 2:07 AM In reply to

    Re: Custom Security Extension-parsing soap url

    Does that mean, the custom security extension cannot trace which report is getting executed at the moment?
  • 07-21-2008 9:08 PM In reply to

    Re: Custom Security Extension-parsing soap url

    Answer

    Yes, I don't think this is possible. Even if it was possible, subscriptions are executed in an unattended mode so you won't be able to get the authorization policies since there is no interactive user.

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