Guys:

The XMLP WG is looking for SOAP 1.2 implementations which support, or are planning to 
support, the new spec.

Axis already supports a few of the features in 1.2, but I'd like to push forward and 
bring it as close to full compliance as possible.

One of the things this means is that a lot of the places we're currently using 
constants need to shift to a more flexible approach.  For instace, a bunch of the 
deser/ser code is really hardcoded to use the 1.1 namespaces.  You can switch to the 
1.2 ones, but you currently need to recompile to do it, and I think we should support 
both protocols simultaneously.  Here's what I propose as a first step to deal with 
this - we introduce a SOAPConstants interface, with a simple interface including 
getEnvelopeURI(), getEncodingURI(), getMustUnderstandQName(), etc.  We provide a 
SOAP11Constants and a SOAP12Constants class as implementations.  Then we define a 
MessageContext field that holds one of these, and switch all the constant usage to use 
this - for instance "URI_SOAP_ENV" -> "soapConstants.getEnvelopeURI()".  The 
particular SOAPConstants to be used is selected either by looking at the envelope 
namespace of an incoming message (server) or by manually setting a switch on the Call 
(client).  Services by default will accept either, but can be configured to only do 
one or the other.

Sound OK?  Among the other things we'll need to change are the default type mappings, 
since SOAP 1.2 will need a different ArraySerializer.

--Glen

Reply via email to