Hi Vincent,

> >
> > I'm trying to get the Cactus sample-servlet test to run on BV 6.0
>
> I can tell you that you probably are the first one to try this ! :-)
>

That's my impression as well...

> > (it's
> > using a Servlet 2.2 API implementation - basically it's the older
> Tomcat,
> > but I don't know what they've changed).
> > I've tracked down the problem as far as this: BV adds a
> > "com.broadvision.session.new=Yes" as a GET parameter and seems to
> expect
> > the
> > Servlet to create a new session (of course, the BV way).
>
> Not sure I understand. Are you saying that all web pages have that HTTP
> parameter (com.broadvision.session.new) in all the links and actions
> parameter of the forms ?
>
> Anyway, it is easy to pass this parameter using
> WebRequest.addParameter(...) in beginXXX().
>
> Now, you've lost me on the creation of the session on the server side
> ... Are we talking about the HTTP Session ? If so, the Cactus Servlet
> Redirector creates one by default. If you're talking about another
> session (a BV specific one), this means that when you write a servlet in
> BV you also need to call some API to create that session ?
>

Well, whenever I send a request
".../ServletRedirector?Cactus_Service=[whatever]", the request that is
received by the ServletRedirector is
".../ServletRedirector?Cactus_Service?[whatever]&com.broadvision.session.new
=Yes". The "com.broadvision..." request is added to every request. The
request seems to be altered by the BV servlet container. My assumption is
that BV checks if a session (BV session! They have implemented a class
"BVHttpSession" that extends HttpSession) has already been created, and if
that's not the case, the BV servlet container tells the servlet to create a
BV session.
I don't know yet which class/servlet would receive/handle this request in
the absence of a ServletRedirector... But let's assume I could find that
out - would it be enough to simply instantiate that servlet, pass it the
request (so that it does the BV specific session initialization) and then go
on with the Cactus test case?

> > Obviously, the
> > ServletTestRedirector doesn't know what to do with this request and
> > ignores
> > it. BV, on the other hand, doesn't do anything without a session being
> set
> > up. My idea now is to somehow dispatch this request to the originally
> > intended recipient and then go on with the test case.
>
> What is the originally intended recipient ?
>
> > Do you have any other ideas that I could try to get it to run?
> >
>
> yes, but I need to understand who is this recipient and what is the life
> cycle of that special BV session.
>

I think it must be some kind of servlet. My understanding of BV is that it
will create a BV session for every user that accesses a page. Registered
users have a user ID > 0, anonymous users get an ID < 0. I guess that this
is done by the BV-specific initialization process. Of course, the BV
documentation remains silent about all the details, and the BV extensions of
the HttpSession class, Servlet interface, RequestDispatcher interface etc.
are undocumented.

> Thanks
> -Vincent
>

Thanks for all the effort you've put into the Cactus framework and that you
take the time to try and help me out with this one!

Michael


--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to