Home Server
New Blog Posts: Merging Reports - Part 1 and Part 2

Session gets lost

edited December 2005 in Server
I am using Report Server 9 to publish reports. I am using ASP.NET and a
RemObjects application server. In the session state some objects are stored
to manage state, and to have a link to the application server session.
However, when a search form pops up, and the search button is clicked, that
(POST) request appears to be executed in a different session.

How can I make the POST-request after a search to use the same session as
the GET-requests?

Kind regards,
Mariella

Comments

  • edited December 2005

    Here is an article on specifying parameters - I just updated it to include
    information about the session id parameter.



    ---------------------------------------------
    Tech Tips: How can I request that the webtier
    execute a specified report?
    ---------------------------------------------


    Question:
    ---------

    Without using the Web ReportExplorer, how can I request that the webtier
    execute a specified report?


    Solution:
    ---------

    The webtier processes requests for web content. These requests consists of

    1. The URL for the webtier

    example: http://127.0.0.1/rbWebPub/report.dll


    2. A parameter specifying the content type.

    example: content=viewer

    {note: content=viewer, is used to request report viewer content.}


    3. Additional parameters that are specific to the content request.

    volume=Report Forms (the volume name)
    Name=Basic\Biolife Table (the full path name to the report)
    frameset=1 (show the framset with the toolbar etc., this is required)


    Use a web browser to access the webtier demo that displays the report
    explorer.

    Notice that when you place the mouse over a report in the report explorer
    that the status bar in IE shows the url plus some params. That is the string
    required to run the report on the web tier.

    Example:
    http://127.0.0.1/rbWebPub/report.dll?content=viewer&volume=Report
    Forms&name=Basic\Biolife Table&framset=1


    So the parameters here are

    content=viewer (type of content is report viewer)
    volume=Report Forms (the volume name)
    Name=Basic\Biolife Table (the full path name to the report)
    frameset=1 (show the framset with the toolbar etc., this is required)


    4. Session parameter

    Each user request is assigned a session id (a GUID). Include the session id
    parameter with subsequent request for the same user session.

    Example:

    SessionID=%7BA891340B%2D359B%2D40A0%2DB5B8%2D4DA1B91C0114%7D


    5. AutoSearch Parameters

    To specify autosearch parameters for a report, include the parameter
    'newsearch=T' followed by the autosearch parameters.

    AutoSearch parameters have the following naming convention: asgXfYse and
    asgXfYsa.

    The asgX specifies the autosearch group number, where X is the number. The
    fY specifies the field number, where Y is the number. The se indicates that
    the value is a search expression and the sa specifies that the value is the
    "show all" boolean expression.


    Example:

    content=viewer
    newsearch=T
    asg0f0se=S
    asg0f0sa=false


















    Best regards,

    Nard Moseley
    Digital Metaphors
    www.digital-metaphors.com
  • edited December 2005
    Hi Nard,

    It is about the _web server_ session. The POST request after a search form
    is executed in a different _web server_ session, so I am unable to
    communicate with the application server.

    Regards,
    Mariella
  • edited December 2005

    There are two ways in which parameters can be passed to a web server (you
    probably know all this, but I want to make sure). An HTTP GET includes the
    parameters in the query string, an HTTP POST includes the parameters in the
    content string.

    When the search form performs the POST, the post request will include the
    parameters in the content string. The web session id (the GUID that I
    mentioned) will be included in those parameters. These parameters must be
    passed to the WebTier. The WebTier can then locate the corresponding
    subdirectory within the cache directory and continue the session.





    Best regards,

    Nard Moseley
    Digital Metaphors
    www.digital-metaphors.com
  • edited December 2005
    Dear Nard,

    Please mention that the SessionID you talk about is a different SessionID
    than I am talking about.

    Kind regards,
    Mariella

  • edited December 2005
    Hi Nard,

    The mystery has been resolved. The configured Dispatcher URL was pointing to
    the hostname of my computer, while I was calling the report server using
    http://localhost/etc. In that case the web browser does not understand that
    both hostnames are the same computer, and will not send the cookie back.

    Calling the report server using http://my-hostname/etc. does resolve the
    problem.

    Kind regards,
    Mariella

This discussion has been closed.