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

Passing huge string parameters through WebTier app

edited May 2004 in Server
Hi!

Here's my case :

I have an app that is my ReportServer (it has many forms with many ppReport
registered in RBServer catalog).

Then I have a WebTier dll (ServerReportWebTier.dll) registered in IIS. This
WebTier is conected to the ReportServer app.

And I have a IntraWeb app that has a form that has a button that calls a
report from the WebTier app.

To call the report I'm using the following URL :
http://localhost/Test3/ServerReportWebTier.dll/RAAtiv?content=viewer&volume=Relatorios&name=Areas de Atividade&zoom=100&folder=v0&InitialDate=01/01/2004&SomeCode=123

In this call I must pass many parameters and one of them is a SQL Where
clause that may have many chars (in tests I found a Internet Explorer limit
for URL size that is about 1800 chars).
In some cases my URL will be greater than this limit.

So, I ask : is there some other way to pass these parameters (this huge
string that is a piece of a SQL statement) ?

TIA

Jose Carlos
Brazil

Comments

  • edited May 2004

    You need to use an HTTP Post method rather than a Get method. A Get method
    has a length limitation, but a Post does not.

    Typically a Post method is used to submit a form.

    The WebTier's AutoSearch forms use a Post. Here is an example taken from our
    live server demo. (You can view this in your web browser by running one of
    the autosearch reports in our demo and performing a view | source on the
    AutoSearch form displayed in your browser).











    --
    Nard Moseley
    Digital Metaphors Corporation
    www.digital-metaphors.com


    Best regards,

    Nard Moseley
    Digital Metaphors
    www.digital-metaphors.com
  • edited May 2004
    Hi, thanks Nard for the answer.

    In fact, I'm using this code on Onclick event of a Button (remenber this
    button is on a IntraWeb app) :

    AddToInitProc('NewWindow(''' +
    'http://localhost/Test3/ServerReportWebTier.dll/RAAtiv'+'REST OF MY HUGE
    URL''', ''MyWindow'', '''');');

    But the way u is proposing seems to be better.

    How can I use the way u told me ? Where exactly I must put this piece of
    code of your exemple (something like that) ?
    I'm not using AutoSearchParameters (because I thought to pass my params in
    the URL the way I did before would be more easy). But if u think it's better
    to use AutoSearchParams, I'll try, and of course, would be more easy if u
    give me some guidelines, tips, etc. :-)

    By the way, whats the main differences between these two ways I can pass
    params ?

    Thank you very much

    Jose Carlos
    Brazil

    --
    Jos? Carlos Marcusso Jr
    SiStech - Sistemas de Informa??o
    Fone: (19) 3453-8827
    josecarlos@sistechsistemas.com.br
    www.sistechsistemas.com.br

  • edited May 2004

    You are really asking an HTML/HTTP question. HTTP supports types of
    requests, HTTP Get and HTTP Post.

    1. Here is an example of a Get

    http://www.digital-metaphors.com/rbWebPub/Report.dll?myFirstParam=One+mySecondParam=Two

    So we have a URL followed by a '?', followed by the parameters.

    2. An HTTP Post can be issued from HTML by using an HTML Form. Example:



    When a Form is submitted all of the form input elements are sent to the web
    server as part of the request. You can define Hidden input elements to send
    parameters.









    --
    Nard Moseley
    Digital Metaphors Corporation
    www.digital-metaphors.com


    Best regards,

    Nard Moseley
    Digital Metaphors
    www.digital-metaphors.com
This discussion has been closed.