Igor,

You wrote:

>I agree that Engine does not have to make any choices. For the
>Engine it is always the config interfaces that we define. They
>will always assume versioning. Like
>EngineConfigurationProvider.getConfig(versionStamp) and
>.getCurrentVersionStamp(). It's just that some simple
>EngineConfigurationProviders may choose to not care about the
>versionStamp parameter and return a blank string as a current
>version stamp.

So the engine always assumes versioning is taking place but some engine
configurations simply return the latest version regardless of which version
the engine is asking for.

Handlers (including Chains) would then have to cope with being instantiated
or modified during the processing of a request. For example, a Handler
would have to cope with being driven for onFault() when it has not been
driven for the corresponding invoke().

I don't like this as Handler represents one of the most common contracts in
Axis and, IMO, it needs to be as simple as possible. By comparison,
EngineConfiguration is more limited in its use and it would be reasonable
to force implementations to support versioning.

Glyn


Reply via email to