That makes a lot of sense (both your explanation of the spec semantics and how it should work in Muse) - I assume you're offering to help? ;)
Dan "Jared A. Zebedee" <[EMAIL PROTECTED]> wrote on 03/28/2007 04:17:48 PM: > Hi Dan, > > Thanks for your response. > > I'll reiterate just to make sure we're aligned: > > The GetMetadata operation accepts two parameters: > Dialect, and Identifier > > The Dialect parameter specifies the type of Document to be retrieved. > The Identifier parameter specifies the desired Namespace of the Metadata > to be retrieved. > > In my case, I want to retrieve the XSD that contains my Resource > Manager's custom Resource Properties (ones that I have defined). > According to the WS-MEX specification, I would issue a request with the > following parameters: > > Dialect: http://www.w3.org/2001/XMLSchema > Identifier: http://mymanagersite.com/services/myManager > > To fully support the specification, however, it should be possible to > omit the Identifier parameter, which should return all XML Schema > Metadata defined by the Resource Manager. I believe we can better > conceptualize this if we think of the XML Schema as "collections of > Metadata (categorized by Namespace)" rather than independent documents. > > In terms of implementation, I don't think this should be too difficult. > Muse aggregates everything into the WSDL document, so it should be > possible to parse out the desired Metadata by matching against the > Dialect and Identifier parameters. > > To elaborate: > > In the WSDL Document, XML schema is defined as: <wsdl:definitions .. > xmlns:xsd="http://www.w3.org/2001/XMLSchema" ...> > > The GetMetadata operation, with a specified Dialect of > "http://www.w3.org/2001/XMLSchema", should be able to parse out all > elements that begin with <xsd:.> > > That takes care of parsing out the XML Schema from the WSDL. The next > step is to parse out only the XML Schema that belongs to the desired > Namespace. Referring to the section of my WSDL that includes the XML > schema for my resource (after Muse has combined everything), we have: > > <xsd:schema elementFormDefault="qualified" > targetNamespace="http://mymanagersite.com/services/myManager" > > > The GetMetadata operation should be able to identify the namespace > declared here (and match it to the Identifier parameter), so that it > only returns the elements in that section. > > Here is my motivation: It is important to have access to the XML Schema > for a Resource Manager, because it contains the Resource Properties' > data type declarations. It also allows retrieval of the available > Resource Properties without querying their values (it doesn't depend on > the state of the Resource). > > Currently, I am using GetMetadata to retrieve the entire WSDL document, > and then parsing out the XML schema I need. This involves a data > transfer of over 100 kilobytes, which is rather inefficient, considering > that I only need the XML schema (which amounts to about 3 kilobytes in > my case). I believe the same effect could be achieved much more > efficiently by fully implementing the GetMetadata operation. > > Your thoughts? > > - Jared Zebedee > [EMAIL PROTECTED] > -----Original Message----- > From: Daniel Jemiolo [mailto:[EMAIL PROTECTED] > Sent: Wednesday, March 28, 2007 8:54 AM > To: [email protected] > Cc: 'Wilson, Kirk D'; [email protected] > Subject: Re: Using GetMetadata to obtain XML Schema Document > > The 09/2004 spec seems to offer identifiers for WSDL, XSD, and > WS-Policy, > but WSDL was the only one that made sense for us given the effort we go > to > in resolving the WSDL and making it available to the client (without > resolving the imports, you'd have to do a lot of plumbing to get all the > > docs on disk and then parse them). I guess my question is, if you use > the > XSD identifier, do you want all schema files? When you say "the XSD", it > > implies there is one - perhaps the one you wrote, and not the WS-* XSDs. > > Let me know what you meant so I can offer a suggestion on achieving > this. > > Also - the response you get is the closest WS-MEX has as far as > indicating > "no metadata". The spec doesn't have any faults for GetMetadata, so the > simplest thing was to return no metadata elements for the given > dialect/identifier pair. > > Dan > > > > "Jared A. Zebedee" <[EMAIL PROTECTED]> wrote on 03/27/2007 05:55:44 > PM: > > > Greetings all, > > > > I am attempting to use the GetMetadata operation to retrieve the XML > > Schema Document for a MUWS Resource Manager. > > > > The GetMetadata operation accepts 2 parameters: Dialect, and > Identifier > > > > According to the specification, acceptable values for Dialect include: > > > > http://www.w3.org/2001/XMLSchema (For retrieving the XML Schema > > document) > > http://schemas.xmlsoap.org/wsdl/ (For retrieving the WSDL document) > > > > I have successfully used the GetMetadata operation to obtain the > entire > > WSDL document. However, when I try to use it to obtain the XML Schema > > Document, the response I receive is empty (I get a proper response > with > > no Metadata included). In both cases, I am specifying the URI of my > > Resource Manager as the Identifier. > > > > Does anyone know if this operation has yet been fully implemented in > > Muse? I would like to be able to retrieve the XML Schema Document, > > rather than the entire WSDL document. For the time being, I can > filter > > through the WSDL document to obtain the data I need, but this is not > > very efficient. > > > > Thank you. > > > > Jared Zebedee > > [EMAIL PROTECTED] > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
