RE: Something else to consider

Savas:

> Headers are used when you describe the message exchanges of a 
> protocol. I believe that in most cases this would happen 
> through operations only. I can't see an example where one 
> would want to describe a protocol in WSDL and use attributes 
> but I may be wrong in this. What do people think?

I see no difference between operations and attributes. As someone who works
in transactions I definitely think I need to be able to update an attribute
within the scope of a transaction, just like I can invoke an operation in
the scope of a transaction.

So you could well be right that my proposed attribute syntax prevents this,
unless it is dealt with at the binding level? Or perhaps by some union of
the two sytnaxes:

<attribute name="ncname" access="get|set|both">
  [(body="qname") | (element="qname")]
  [(header="qname") | (element="qname")]?
</attribute>

So you could have attribute declarations like:

<attribute name="foo" access="both">
    <body element="x:SomeElement"/>
    <header element="tx:TxContext" use="set"/>
</attribute>

This XML is a little clumsy , but the intention is that we are now dealing
with a single type or element for the attribute in the body (which as Umit
pointed out was a flaw in Savas' original proposal), but we also allow
headers to be propagated with sets but not gets for example. The problem now
is that I allow someone to define a get attribute and specify a use="set"
for the header :-(

But I think the idea kinda works, if someone could come up with a smarter
way of writing it.

Jim

Received on Wednesday, 16 July 2003 07:04:54 UTC