Sorry for the confusion.  The Jira was marked post 1.3 because I didn't 
think I could get it done prior to RC2, which was originally scheduled for 
last Friday, and this contained kernel changes.  Since RC2 was postponed, 
I was able to get it in prior to RC2.

Thanks,
Jeff

IBM Software Group - WebSphere Web Services Development
Phone: 512-838-4587 or Tie Line 678-4587
Internet e-mail and Sametime ID: [EMAIL PROTECTED]



"Amila Suriarachchi" <[EMAIL PROTECTED]> 
07/16/2007 11:32 PM
Please respond to
[email protected]


To
[email protected]
cc

Subject
Re: [Axis2] Pluggable mustUnderstand header validation for AXIS2-2853 
commited






this thread it self named as 
Post-1.3 mustunderstand header validation proposal.

thanks,
Amila.

On 7/16/07, Glen Daniels < [EMAIL PROTECTED]> wrote:
Hi Jeff:

I thought this was going to happen AFTER 1.3, and I also thought we
would have a little more discussion first...?  I am strongly against
this proposal as it stands (though I am open to convincing) on technical
grounds (see other thread), and I apologize for not responding sooner to 
your last response to me, but I would really prefer we held off on this
for just a little bit more.  I'll go finish my response on the other
thread right now, but until then, I apologize but -1 on this commit. 

--Glen

Jeff Barrett wrote:
> Hi All,
>
> I've commited the changes for
> https://issues.apache.org/jira/browse/AXIS2-2853 under revision 556761.
>
> It is implemented as described below with the modifications discussed on
> the list.  This commit was the framework; I'll add the JAXWS checker as 
a
> plugin next (hopefully tomorrow). 
>
> Thanks again for the comments!
>
> Thanks,
> Jeff
>
> IBM Software Group - WebSphere Web Services Development
> Phone: 512-838-4587 or Tie Line 678-4587
> Internet e-mail and Sametime ID: [EMAIL PROTECTED]
> ----- Forwarded by Jeff Barrett/Austin/IBM on 07/16/2007 06:05 PM -----
>
> Jeff Barrett/Austin/IBM
> 07/11/2007 05:20 PM
>
> To 
> [email protected]
> cc
>
> Subject
> [Axis2] Post-1.3 mustUnderstand header validation proposal AXIS2-2853
>
>
>
>
>
> Hi All,
>
> Here is my proposal for a mustUnderstand header validation framework.
>
> PLEASE NOTE the mustUnderstand processing is required for fixes we're
> trying to get in by 7/20 and which Geronimo needs. 
>
> So, please take a look as soon as possible.  If the overview seems OK,
> then I'll start on the code (this is post 1.3 work)
>
> Here's the Jira: https://issues.apache.org/jira/browse/AXIS2-2853
>
> Goals
> =====
>
> 1.  Pluggable and extensible via configuration.  Allow higher-level,
> non-engine components to participate in mustUnderstand validation. 
> Examples include JAX-WS runtime and appliction handlers, WS-RM, and
> systems using Axis2 as a bus.
>
> 2.  Support for actors/roles.  Only mustUnderstand headers for
> actors/roles in which this node acts should be checked.  Note that 
> actors/roles would not be implemented immediately, but future support is
> taken into consideration in the design.
>
> OVERVIEW
> ========
>
> A list of soapHeaderValidators can optionally be configured in 
axis2.xml.
> The list of validators will be stored on the AxisConfiguration.  Each
> validator has a method which takes a collection of not-yet-understood
> header QNames, a collection of String roles, and a MessageContext.  The 
> method will return a collection of header QNames based on the input
> parameter which are still not understood; that is, it removes any that 
it
> understands from the list.
>
> The AxisEngine.checkMustUnderstand () method will invoke each validator,
> passing in the collection of still-not-understood headers.  If, after 
all
> the validators are called the collection is not empty, a mustUnderstand
> fault is thrown.  The logic would be something like: 
>
>         String[] rolesActedIn = ...             // list of actors/roles
> acted in.
>         QName[] notUnderstoodHeaders = ...      // list of all mU 
headers
> not marked as processed
>         SOAPHeaderValidator[] validators =
> axisConfig.getSoapHeaderValidators();
>         for (SOAPHeaderValidator validator : validators) {
>             notUnderstoodHeaders =
> validator.validate (notUnderstoodHeaders, rolesActedIn, messageContext)
>         }
>
>         // If there are any not-understood headers after running the
> validators
>         // throw an exception
>         if ( notUnderstoodHeader.length != 0) {
>             throw notUnderstoodException
>         }
>
> There is no API for the registration of understood headers; each 
validator
>
> is responsible for deciding what it understands and removing it from the 

> collection.  For example, the JAXWS validator would look for a property
> (which it set earlier) on the AxisOperation containing the QNames for 
any
> JAXWS SEI header parameters and any headers understood by JAXWS 
> application handlers.  That property would be set by JAXWS on the
> AxisOperation during application startup.
>
> Configuration in axis2.xml
> --------------------------
>
> The <soapHeaderValidators> element is optional.  If ommited then all 
> mustUnderstand headers must be marked as processed by handlers, or a
> mustUnderstand fault will be thown (i.e.  current
> AxisEngine.checkMustUnderstand semantics are unchanged)
>
> <soapHeaderValidators> 
>
> 
<soapHeaderValidator>org.apache.axis2.jaxws.JAXWSSoapHeaderValidator</soapHeaderValidator>
>
> 
<soapHeaderValidator>my.other.validator.MySOAPHeaderValidator</soapHeaderValidator>
 

> </soapHeaderValidators>
>
>
>
> Thanks,
> Jeff
>
> IBM Software Group - WebSphere Web Services Development
> Phone: 512-838-4587 or Tie Line 678-4587
> Internet e-mail and Sametime ID: [EMAIL PROTECTED]
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>

--------------------------------------------------------------------- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED] 




-- 
Amila Suriarachchi,
WSO2 Inc. 


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to