You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by Sam Ruby <ru...@us.ibm.com> on 2001/05/05 20:48:35 UTC

MessageContext changes

Background: as currently defined, org.apache.axis.Message defines a very
mutable concept.  It can begin life as an InputStream, be converted into a
SOAPEnvelope, and then converted into a String.  The trouble is that these
transformations can not be done in a vacuum - the need some Context.  In
particular, there often is a need to locate serializers and deserializers.
The ones picked can depend on such things as deployment descriptors,
service descriptors, and type mapping registry.

Previously, in much of the code the way this was done was to instantiate a
new type mapping registry (creating a hash table and populating it with a
few dozen objects), accessing it perhaps a half a dozen times, and then
throwing it away.  This is done a few times during the processing of an RPC
request.  This is neither efficient, nor correct in that it does not
account for deployment and service descriptors.

I am in the process of consolidating all of this into the MessageContext.
The goal is that when you want a serializer or deserializer you will ask a
context object (either Message-, Serializer-, or Deserializer-Context) for
one, and it will know about DDs and SD's and TMR's.

My changes are about half done.  What has been committed passes both the
unit tests and deploy a service and execute GetQuote.

Let me know if there are any concerns with any of these changes or the
direction I am heading.

- Sam Ruby