- From: Jim Webber <jim.webber@arjuna.com>
- Date: Wed, 16 Jul 2003 12:04:35 +0100
- To: "'Savas Parastatidis'" <Savas.Parastatidis@newcastle.ac.uk>, <public-ws-desc-state@w3.org>
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