Either I have discovered an obscure fatal error involving
callMethodOfServlet or I am using WebKit incorrectly.
Firstly, I will apologize if this post is too large, but it seemed
better to include the example code instead of trying to explain
everything and THEN sending out the code.
What is happening is that I have 2 classes 'Ac' and 'Ap' both derived
from class 'Ag'. 'Ac' performs a callMethodOfServlet on a method in
class 'Ap'. When the code is placed in a context and this set of events
happens, WebKit throws a Type error, claiming that class 'Ap' is not of
BUT, when the same code is moved into a subdirectory of the context and
the same set of events is performed, everything works fine. Which is
somewhat disturbing and very confusing.
The zipped and tarred file that is attached includes my example code and
the Application.config file that I am using. The attached file contains
a context called 'Anger'. You should be able to find the various
examples and the HTML page that contains the longer explanation of what
is happening. Simply browse to /Anger and follow the instructions.
Some (minor) technical information.
Running WebWare version 8.1
Linux redhat 9
Hopefully someone will be able to figure out what is going wrong since
From: Jason Hildebrand <jason@pe...> - 2004-04-02 19:21:39
On Fri, 2004-04-02 at 12:36, David London wrote:
> Either I have discovered an obscure fatal error involving
> callMethodOfServlet or I am using WebKit incorrectly.
Looks like you've discovered a bug.
> Firstly, I will apologize if this post is too large, but it seemed
> better to include the example code instead of trying to explain
> everything and THEN sending out the code.
Well, thanks for providing a nice test case. It was easy to get up and
> Hopefully someone will be able to figure out what is going wrong
> since I'm stumped.
I didn't actually figure out why the error happens, but here's what I did.
I ran your test case against Webware 0.8.x and it failed like you say.
Then I tried it against Webware CVS, and it worked just fine. I took a quick
look, and there are significant changes in WebKit/ServletFactory.py, which is
most likely where the problem lies. I tried copying ServletFactory.py from CVS
into my 0.8.1 tree -- and it failed with an error because there was a missing
method in Servlet.py. I added the missing method:
def setFactory(self, factory):
self._factory = factory
to the bottom of Servlet.py, and then it worked.
In summary, I'd recommend either using Webware from CVS, or copying over
ServletFactory like I did (although that may have other side effects --
but it seemed to work fine with all of your tests).
Jason D. Hildebrand