dev@jax-ws.java.net

Re: Propagation of FI content negotiation

From: Paul Sandoz <Paul.Sandoz_at_Sun.COM>
Date: Fri, 28 Jul 2006 11:45:33 +0200

Kohsuke Kawaguchi wrote:
>
> The content negotiation is really more of a property of the entire
> pipeline, and not a property of a packet. So I think the proper solution
> is to eliminate the content negotiation property from Packet, and create
> a mechanism where a change to the pipeline (through request context)
> could be directly sent to the responsible pipes and codecs.
>
> That would allow the FI codec to use the correct content negotiation
> propery without having the security code worry about FI, which just
> seems wrong.
>

How would the conneg property on the client pipe line get propagated to
the secure conversation pipe line?

Would it occur like the following:

     clientPipeLine.propagateProperties(scPipeLine);


> Besides, if transport/codec specific details need to be captured on
> Packet, that sounds like an abstraction breakage.
>

Seems like the endpointAddress, soapAction and the acceptableMimeTypes
properties are different because they are meta data associated with the
message, even if they are transport/codec specific. Where as the conneg
property is related to client pipe line transport/encoding/decoding
behaviour.


> This change would also allow some computation to be done when the
> property is set, to digest the value to the form more suitable for
> efficient processing, as opposed to wait until the last minute to do so
> (and end up doing so repeatedly.)
>

At least for the conneg property there is very little overhead (unless
the property bag falls back to the slow method?).


> I think distributed property set is kinda close to what we need to do this.
>

Are there any other properties? I am just wondering what the cost of
implemeting this is.

Paul.

> Paul Sandoz wrote:
>
>> Hi,
>>
>> As i understand it the secure conversation pipe creates a new Packet
>> for its pipe line from the Packet of the client request. Are there any
>> other cases where this occurs?
>>
>> In the general case, should we propagate the content negotiation
>> property? i.e.
>>
>> private Packet(Packet that) {
>> that.copySatelliteInto(this);
>> this.invocationProperties = that.invocationProperties;
>> this.handlerScopePropertyNames = that.handlerScopePropertyNames;
>> this.contentNegotiation = that.contentNegotiation;
>> // copy other properties that need to be copied. is there any?
>> }
>>
>> So in the case of secure conversation if the client enabled Fast
>> Infoset then that would also get propagated to the secure
>> conversation client.
>>
>> Given that the 'pessimistic' property will only result in FI being
>> enabled iff the service is FI-enabled the propagation of this property
>> will not affect the interoperablity with non-FI-enabled secure
>> conversation services.
>>
>> Paul.
>>
>
>

-- 
| ? + ? = To question
----------------\
    Paul Sandoz
         x38109
+33-4-76188109