[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Re: [wsrf] Discussion regarding issue 48
On Tue, 2004-06-15 at 15:55, Steve Graham wrote:
> Interesting.
>
> So, lets say I have the following resource property definition:
>
> <xs:schema ... targetNamespace="foo" ... xmlns:foo="foo" >
> ...
> <xs:element name="bar" type="xs:String" nillable="true"/>
>
> <xs:element name="RPDocDecl">
> <xs:sequence>
> <xs:element ref="bar" minOccurs="1" maxOccurs="unbounded" />
> ...
> </xs:sequence>
> </xs:element>
> ...
> </xs:schema>
>
> I have a WS-Resource defined on a portType that references
> foo:RPDocDecl as its resource properties document schema, and this
> particular WS-Resource has only one element value of "bar" that is
> nil. That is, a serialization of the resource property document could
> appear as:
>
> <foo:RPDocDecl>
> <foo:bar xsi:nil="true" />
> ...
> </foo:RPDocDecl>
>
> So, if a requestor issued the following GetResource Properties
> request:
>
> <wsrp:GetResourceProperty>
> foo:bar
> </wsrp:GetResourceProperty>
>
> I would expect:
>
> <wsrp:GetResourcePropertyResponse>
> <foo:bar xsi:nil="true" />
> </wsrp:GetResourcePropertyResponse>
>
> Now a couple of other "variants":
>
> There are several values of bar, that is the resource properties
> document looks like:
> <foo:RPDocDecl>
> <foo:bar xsi:nil="true" />
> <foo:bar>someString</foo:bar>
> ...
> </foo:RPDocDecl>
>
> I would expect the getResourceProperties response to look like:
>
> <wsrp:GetResourcePropertyResponse>
> <foo:bar xsi:nil="true" />
> <foo:bar>someString</foo:bar>
> </wsrp:GetResourcePropertyResponse>
>
> and if there are no values for foo:bar, that is the resource
> properties document looks like:
> <foo:RPDocDecl>
> ...
> </foo:RPDocDecl>
>
> I would expect the getResourceProperties response to look like:
>
> <wsrp:GetResourcePropertyResponse>
> </wsrp:GetResourcePropertyResponse>
>
> What aspect of the scenario am I missing that suggests the invention
> of some conventional element like "nillablerp"?
My nillablerp is equivalent to your foo:bar. I did not mean to imply a
convention, I was just using the name to indicate that it represents a
nillable rp.
In any case, for maxOccurs=0 do we return a empty reply in the case of
this RP document:
<foo:RPDocDecl>
<foo:bar xsi:nil="true" />
...
</foo:RPDocDecl>
or do we return
<wsrp:GetResourcePropertyResponse>
<foo:bar xsi:nil="true" />
</wsrp:GetResourcePropertyResponse>
/Sam
> sgg
> ++++++++
> Steve Graham
> (919)254-0615 (T/L 444)
> STSM, On Demand Architecture
> Member, IBM Academy of Technology
> <Soli Deo Gloria/>
> ++++++++
>
>
>
>
> Samuel Meder
> <meder@mcs.anl.gov>
>
> 06/15/2004 02:05 PM
> Please respond to meder
>
> To:
> "Murray, Bryan P."
> <bryan.murray@hp.com>
> cc:
> wsrf-oasis
> <wsrf@lists.oasis-open.org>, Jarek Gawor <[email protected]>
> Subject:
> Re: [wsrf] Discussion
> regarding issue 48
>
>
>
> I've talked to Jarek about issue 48. What we would like to see is a
> clarification of what to return when a property is declared nillable
> and
> it is nil. Our suggestion is to return something like
>
> <nillablerp xsi:nil="true"/>
>
> Other alternatives are to return nothing or to throw a fault. The
> other
> issue that should be clarified is the precedence of
>
> "Note: in the case where the resource property element is defined with
> minOccurs="0" and the resource properties document does not contain
> any
> value for that resource property, the response MUST be an empty
> wsrpw:GetResourcePropertyResponse element."
>
> over whatever behavior we decide on for the nillable case. Our
> suggestion is to give the minOccurs="0" rule precedence.
>
> More comments below:
>
> On Thu, 2004-06-10 at 14:31, Murray, Bryan P. wrote:
> > The minutes indicate I have an action item to start an email
> discussion
> > to clarify issue 48. This issue was originally raised by Jarek
> Gawor.
> >
> > I am not sure whether the original intent is with reference only to
> > properties that are declared in schema as nillable or if it is about
> any
> > property which can possibly have a null value.
> >
> > As an implementer I can comment on properties that can have a null
> > value. For instance, in most languages a string can have a non-null
> > value, can be empty and non-null, and can have a null value. If the
> > property is not declared as nillible in schema and minOccurs > 0,
> what
> > is the correct value to return if the string has a null value? The
> > choices in this case are 1) return property with no value, 2) don't
> > return the property at all but don't fault, 3) fault. I don't think
> we
> > can return the property with nil=true. My preference is #1 which is
> the
> > same if the string has a non-null value that has 0 length.
>
> I think we should return a fault since it is not declared as nillable.
>
> > Another case I can think of that is related to having a null value
> is a
> > property that is declared with minOccurs=0 and maxOccurs > 1. This
> may
> > sometimes be implemented as an array. What should be done if the
> array
> > is null, empty, or non-null and non-empty? It seems to me that if
> the
> > array is null no property elements should be returned just as for an
> > array with no elements, but this is an implementation detail.
> >
>
> It seems to me that this should depend on whether the property is
> declared to be nillable or not. My suggestion would be:
>
> * Nillable
> * if array == null or empty return <rpelement
> xsi:nil=true>
> * if array is not empty do the usual
> * Non-nillable
> * if array == null or empty throw fault
> * if array is not empty do the usual
>
> /Sam
>
> > If someone has comments about properties that are declared as
> nillable
> > in the schema or comments about properties having null values please
> > reply to the list.
> >
> > Bryan
> --
> Sam Meder <meder@mcs.anl.gov>
> The Globus Alliance - University of Chicago
> 630-252-1752
>
--
Sam Meder <meder@mcs.anl.gov>
The Globus Alliance - University of Chicago
630-252-1752
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]