Session gets lost
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
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
This discussion has been closed.
Comments
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
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
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
Please mention that the SessionID you talk about is a different SessionID
than I am talking about.
Kind regards,
Mariella
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