axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mark Ericson" <m...@mindreef.com>
Subject RE: Proposal: finer-grained handler hooks
Date Wed, 04 Sep 2002 18:52:57 GMT
I imagine most of these things can be accomplished by programmatically
assembling the appropriate handlers for a transport.

It isn't as clear to me that this can be done completely through a
configuration file.  How do I force a handler to be the last handler,
just before the actual sender?  How do I add a handler *after* the
sender?

It turns out I'm most interested in the performance use case!  I want to
instrument an existing web service implementation by tweaking the
configuration file.

- Mark

-----Original Message-----
From: Doug Davis [mailto:dug@us.ibm.com] 
Sent: Wednesday, September 04, 2002 6:53 AM
To: axis-dev@xml.apache.org
Subject: Re: Proposal: finer-grained handler hooks

Mark,
I don't disagree that hooks at those places might be needed but
can't most of the things in your list be done thru the use of transport
handlers?  (The performance one being a notable exception)
-Dug


"Mark Ericson" <mark@mindreef.com> on 09/03/2002 04:54:17 PM

Please respond to axis-dev@xml.apache.org

To:    <axis-dev@xml.apache.org>
cc:
Subject:    Proposal: finer-grained handler hooks


The 'Handler' mechanism and concept of 'Pivot' point is very valuable in
Axis.  I have discovered that it unfortunately doesn't provide the
granularity required for certain uses.

I find the need to independently hook pre/post serialization and
pre/post deserialization for my extensions.  I believe that this level
of granularity is generally valuable for a variety of uses:

- An XML-based security mechanism's handler would want to operate on the
data before serialization on the client and after deserialization on the
server.

- A compression handler, perhaps GZIP of the data, would operate after
serialization on the client and before deserialization on the server

- Performance tools will want to instrument code to separate out
serialization/deserialization overhead from other processing time.

- Logging information to the common log at key points in message
processing

.NET provides the types of extensibility hooks I've described.  You can
receive callbacks at the following points of message handling for both
client and server:

             BeforeSerialize
             AfterSerialize
             BeforeDeserialize
             AfterDeserialize


- Mark








Mime
View raw message