[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: RE: [xri] Example local resolver API and corresponding proxy resolver output.
Forgive me for my bad example of using a $res*auth service for the results of service selection here. Yikes. :-) ~ Steve > -----Original Message----- > From: Steven Churchill [mailto:steven.churchill@xdi.org] > Sent: Sunday, February 26, 2006 11:20 PM > To: xri@lists.oasis-open.org > Cc: 'Andy Dale' > Subject: [xri] Example local resolver API and corresponding proxy resolver > output. > > > Hi all, > > Discussions with Drummond earlier today led to the following > proposal. > > The first section describes an example API for the local > Resolver. The second section shows the proxy resolver's > corresponding outputs based on the value of its argument > _xrd_r which takes on one of three values: > > xrds Perform authority resolution only and return the > XRDS document. > > uri Perform authority resolution and service endpoint > selection, and return the highest priority URI. > > sep Perform authority resolution and service endpoint > selection, and return the full set of SEP output > information. > > ___________________________________ > > Example API for Local Resolver: > > [N.B.: Note that the method names correspond to the values of the > _xrd_r argument used by the proxy resolver.] > > [N.B.: I will formalize the documentation after the group has > has had a chance to respond. Currently it's just a list of notes.] > > 1. int xrdsResolve( > in string qXRI, in string mediaType, in boolean noFollowRefs, > out string XRDS, out string errorContext); > > Notes: > - Performs authority resolution only and outputs the XRDS. > - Only the first segment of qXRI is processed. > - A null value for mediaType defaults to application/xrds+xml. > - All _xrd_ arguments on qXRI are ignored by this operation. > - Returns the error code. If error, then the errorContext > output argument may contain additional error information. > The XRDS will contain an XRD with the same code and > optional context information. > > > 2. int uriResolve( > in string qXRI, in string type, in string mediaType, > in boolean noFollowRefs, out string URI, > out string errorContext); > > Notes: > - Performs both authority resolution and service selection, > and outputs the highest priority URI after URI construction. > - The first segment of the given qXRI is used for authority > resolution phase. The remainder of the qXRI is used as the > "path" argument for service selection. > - All _xrd_ arguments on qXRI are ignored by this operation. > - Returns the error code. If error, then the errorContext > output argument may contain additional error information. > > 3. int sepResolve( > in string qXRI, in string type, in string mediaType, > in boolean noFollowRefs, out string[] uriArray, > out string[] canonicalIDArray, out string serviceXML > out string errorContext); > > Notes: > - Performs both authority resolution and service selection, > and, for the selected service, outputs (1) the (post > URI construction) list of URIs in order of priority, (2) > the canonicalID list in order of priority, and (3) the > XML <xrd:Service> service element. > - The first segment of the given qXRI is used for authority > resolution phase. The remainder of the qXRI is used as the > "path" argument for service selection. > - All _xrd_ arguments on qXRI are ignored by this operation. > - Returns the error code. If error, then the errorContext > output argument may contain additional error information. > > > ___________________________________ > > Proxy Resolver Output > > This section shows the proxy resolver's output for the three > values of _xrd_r. > > 1. _xrd_r = "xrds" > > << The output is shown in section 3.2 of the spec. >> > > 2. _xrd_r = "uri" > > << The output is the highest priority URI subsequent to > URI construction. If an error occurs, then the output > is *TBD* >> > > 3. _xrd_r = "sep" > > <xrd:XRD> > <Status code="100"> > [[Would include optional context, if error.]] > </Status> > > <URI>http://resolve.example.com/appendedpath?arg=foo</URI> > <URI>http://resolve2.example.com/appendedpath?arg=foo</URI> > > <CanonicalID>xri://@!1000!1234</CanonicalID> > > <Service> > <ProviderID>xri://!!1000!1234.5678</ProviderID> > <Type>xri://$res*auth*($v*2.0)</Type> > <MediaType>application/xrds+xml</MediaType> > <URI priority="10">http://resolve.example.com</URI> > <URI priority="15">http://resolve2.example.com</URI> > <URI>https://resolve.example.com</URI> > <OtherMetadata>foo</OtherMetadata> > </Service> > </xrd:XRD> > > > Notes about the above XML: > - URIs are post URI construction and are in order of priority. > - CanonicalIDs are in order of priority. > - <URI> and <CanonicalID> have no attributes in this context. > - The Service element has not been altered by URI construction > or anything else. > - URI is now child of XRD as well as Service :-) > > > Please provide your feedback ASAP. > > Thx, > ~ Steve > > > > > --------------------------------------------------------------------- > To unsubscribe from this mail list, you must leave the OASIS TC that > generates this mail. You may a link to this group and all your TCs in > OASIS > at: > https://www.oasis-open.org/apps/org/workgroup/portal/my_workgroups.php
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]