XSD Publishing  Locate

XSD-to-UDDI mapping enables the automatic publishing of XML Schema Documents into UDDI and enables precise, flexible UDDI queries based on specific XML schema metadata.

The mapping of XML Schema Document information to UDDI covers:

The API allows the user to search for an schema's tModels based on the namespace they define, or the elements and types they declare within that namespace. The API can also extract the published information back from the registry, so it can be accessed as a list of elements, types, and schemas rather than tModels and other UDDI entities.

Data Structures  Locate
Elements  Locate

This structure represents elements declared by the published XML Schema Document.

Arguments  Locate
  • element - This argument represents an element declared by the published XML Schema Document.

importedSchemaModel  Locate

This structure contains the basics of the imported XML Schema tModel.

Arguments  Locate
  • uddi:tModelKey - The key of the tModel of the schema of the imported XML namespace.

  • uddi:name - The name of that schema's tModel.

resourceInfo  Locate

This structure describes the location of the XML Schema Document.

schemaCandidate  Locate

This structure holds possible mappings of how the XML Schema Document can be published.

Arguments  Locate
  • location - The location of the candidate XML Schema Document.

  • xsd2uddi:schemaMapping - The mapping of the candidate XML Schema Document contents

schemaImport  Locate

This structure holds the imported namespace, that is, the list of possible mappings for this xsd:import, for an xsd:import clause in the XML Schema Document. If a specific location is specified in the XML Schema Document text for the imported XML Schema Document, it is also present.

Arguments  Locate
  • xsd2uddi:namespace - The imported namespace. If missing, a no-namespaced XML schema is imported

  • schemaLocation - The location for the XML Schema Document, if given explicitly. If the imported XML Schema Document does not specify an exact schema location, this value is null.

  • xsd2uddi:importedSchemaModel - The tModel information of the candidates for this import.

schemaImports  Locate

This structure describes a list of xs:imports in the schema.

schemaMapping  Locate

This structure describes a mapping of the XSD contents to an individual XSD tModel and its contents.

Arguments  Locate
  • uddi:name - Name of the XML Schema tModel.

  • uddi:tModelKey - tModelKey for the XML Schema tModel

  • xsd2uddi:elements - Mapping for contained XML elements

  • xsd2uddi:types - Mapping for contained XML types.

schemaMappings  Locate

This structure describes a mapping from the contents of a XML Schema Document to UDDI entities. There are two parts. The first part describes possible matches for xs:imports specified by the XML Schema Document; the second, individual candidates that may match the XML Schema Document contents. The candidate structure then contains a mapping of the XML Schema Document onto the particular candidate tModel and the related UDDI entities.

Arguments  Locate
symbol  Locate

This structure holds mapping of an individual symbol (XSD element and type) to the registry.

Arguments  Locate
  • localName - Local name of the mapped symbol.

  • xsd2uddi:symbolModel - The basics of the tModel that represents the symbol.

symbols  Locate

A common structure for mapping types and elements.

symbolModel  Locate

Basic information about a tModel that represents an element or a type declared by the XML Schema Document

Arguments  Locate
  • uddi:name - Name of the symbol's tModel. This argument is optional when publishing a XML Schema Document; it is always filled in API responses.

  • uddi:tModelKey - tModelKey of the symbol's model

types  Locate

Mapping of types declared by the XML Schema Document being mapped

xsdDetail  Locate

The structure provides detailed information about a specific XML Schema Document, its contents and its references.

Arguments  Locate
xsdDetails  Locate

Details of the XSD

xsdInfo  Locate

This structure holds general information about the XML Schema Document.

Arguments  Locate
  • location - The location of the XML Schema Document. This location can be used to retrieve the contents

  • xsd2uddi:namespace - The URI of the XML namespace defined by the XML Schema Document

  • uddi:tModelKey - tModel key for the schema's tModel

  • uddi:name - tModel name for the schema's tModel

xsdResourceList  Locate

Table 38. Attributes

NameRequired
truncatedoptional

This structure holds a list of XSDs, returned from a find_xsd call.

Arguments  Locate
  • uddi:listDescription - holds a list of descriptions as specified in UDDI's API documentation.

  • xsd2uddi:xsdInfo - holds information about individual registered XSD models.

Operations  Locate
find_xsd  Locate
Syntax  Locate

This operation finds the XML Schema Document. The caller can limit the number of search results to be returned and can iterate through the search results using the listHead and maxRows arguments.

The name and URI lists passed as the input search criteria may use wildcard characters provided that the approximateMatch findQualifier is present. If the ownEntities findQualifier is used, the operation returns only entities owned by the authenticated user. Other entities are not returned even though they match the other search criteria.

Table 39. Attributes

NameRequired
listHeadoptional
maxRowsoptional
Arguments  Locate
  • uddi:authInfo - This optional argument is the string representation of the uddi:authToken.

  • xsd2uddi:resourceInfo - URI location of the published XML Schema Document. The registry does not read from the location, it is used as a search criteria for the current UDDI contents only.

  • xsd2uddi:namespace - Allows to search by the namespace defined by a XML Schema Document. Contains a list of XML namespace URIs. An XML Schema Document satisfies this condition if its targetNamespace attribute is among the URIs.

  • definesType - Allows the user to search by defined type. Contains a list of type names. An XML Schema Document satisfies this condition if it defines a global type with a name passed in the list.

  • definesElement - The returned schemas must define the named element.

  • uddi:find_tModel - An argument used for a more detailed description of search criteria. For more information, see uddi:find_tModel. These criteria are combined with the other criteria specified by the find_xsd structure. In the case of a conflict, the criteria in find_xsd take precedence.

Returns  Locate

This API call returns thexsdResourceList on success. If the caller specifies the maxRows attribute, the returned xsdResourceList will contain, at most, that many results. Note that the search may yield a tModel, which does not entirely comply with the XSD-to-UDDI mapping specification, such as when the tModel information is altered manually. In these cases, an attempt to use get_xsdDetail on such a tModel will produce an exception.

find_xsdMapping  Locate
Syntax  Locate

This operation finds a suitable mapping for contents of the given XML Schema Document. The operation downloads and parses the XML Schema Document at the given location, and matches the contents against the information already published in the registry. It will produce zero or more possible mappings for the given XML Schema Document.

The caller may request that the mapping is attempted only against a specific tModel that represents an XML Schema Document. In that case, only one mapping will be returned.

If the document at the specified location, or one of its dependencies (for example, schemas for XML namespaces which the document imports) are not accessible to the registry, an exception will be raised. If the document is not an XML schema or contains errors, the operation will throw an exception.

Arguments  Locate
  • uddi:authInfo - (Optional) - authentication

  • xsd2uddi:resourceInfo - The XSD identification (location)

  • uddi:tModelKey - (Optional), the proposed schema tModel whose contents should be matched. If set, only published contents of that XML Schema Document will be considered for mapping.

Returns  Locate

This API call returns xsd2uddi:schemaMapping upon success. The structure contains possible matches for the XML Schema Document at the specified location, which are already stored in the UDDI. There are also possible matches for the XML Schema Documents for XML namespaces imported into the main XML Schema Document.

The call will fail if it cannot access the XML Schema Document or one of its dependencies.

get_xsdDetail  Locate
Syntax  Locate

Gets the detail about a published XML Schema Document tModels.

Arguments  Locate
  • uddi:authInfo - This optional argument is the string representation of the uddi:authToken.

  • uddi:tModelKey - Required uddiKey value representing an existing XML Schema Document tModel.

Returns  Locate

This API call returns the xsd2uddi:xsdDetails.

If the passed tModelKey does not exist, or identifies a tModel that does not represent an XML Schema Document, an exception is raised.

publish_xsd  Locate
Syntax  Locate

Table 40. Attributes

NameRequired
importPolicyoptional
contentPolicyoptional
publishingMethodoptional
contentPublishingMethodoptional
importPublishingMethodoptional

Request to publish XML schema information into the registry. The user may pass only minimal information and rely on the matching algorithm used internally to find the appropriate mapping for the published XML Schema Document.

Using the importPolicy and contentPolicy, the caller may limit the scope of the published data. By thepublishingMethod, contentPublishingMethod and importPublishingMethod attributes, the caller may specify the default behavior for publishing - whether an existing UDDI entity is reused and possibly updated, or a new UDDI entity is created, or the particular kind of information is ignored at all.

The registry will need to read the XML Schema Document during the call as well as any resources referenced (imported) by it. If a XML Schema Document or a referenced resource is not available, the operation will fail.

If the caller does not specify a mapping for some element, type, or XML namespace import and there will be more possible matching UDDI entities, the call will fail because the mapping of that XML schema entity is considered ambiguous. It is the responsibility of the caller to provide specific directions for the publishing in such cases.

If the schemaMapping entry for a type, an element or an import specifies a publishingMethod reuse, the API will try to find a suitable UDDI entity. If such an entity is not found, the API will create one. If the caller provides a specific tModelKey with the reuse publishingMethod, the tModelKey must exist and that tModel will be updated with the element, type or import data.

If the schemaMapping entry for a type, an element or an import specifies a publishing method create, the API will always create a new UDDI entity for that XML Schema Document piece. If the caller specifies the tModelKey in the schemaMapping entry, the new UDDI entity will be assigned that tModelKey. The caller may specify a name for the new tModel, too.

If the caller specifies ignore publishing method for an element, a type or an import, that particular XML Schema Document piece will not be published at all. If the publishing operation updates an existing entity in the registry that contains a reference to the element, type or an import, the reference will be purged. When an element or type is ignored, the matching UDDI entity will be deleted from the registry as well by the publish operation.

Arguments  Locate
  • uddi:authInfo - (Optional) - authentication

  • location - XSD identification (location).

  • xsd2uddi:schemaImports - Mapping for referenced (imported) XML Schema Documents

  • xsd2uddi:schemaMapping - (Optional) customized mapping for the schema contents and references

  • importPolicy - attribute specifying which imports will be published

  • contentPolicy - attribute specifying which content will be published

  • publishingMethod - attribute specifying the default publishing method for the contents (elements, types) declared by the schema; default = update

  • contentPublishingMethod - The default publishing method for elements and types (ignore, create, reuse); default = reuse. This publishing method will be used for all elements or types unless the schemaMapping contains an entry for the element or type that provides a different value.

  • contentPublishingMethod - The default publishing method for imports (ignore, create, reuse); default = reuse. This publishing method will be used for all imported XML namespaces unless the schemaMapping contains an entry for the XML namespace that provides a different value.

Returns  Locate

This API call returns the xsdDetail with the published XML Schema Document information on success.

unpublish_xsd  Locate
Syntax  Locate

Unpublish the XML Schema Document. The operation checks whether the XML Schema Document is referenced from other data published in the UDDI. If so, the operation fails as the semantics of the referencing data might break if the XML Schema Document information is removed from the UDDI registry.

Arguments  Locate
  • uddi:authInfo - This optional argument is the string representation of the uddi:authToken.

  • uddi:tModelKey - tModelKey of the tModel that represents the XML Schema Document.

Returns  Locate

This API call returns the xsdDetail on success.

WSDL  Locate

xsd2uddi_v3.wsdl

API Endpoint  Locate

You can find the XSD2UDDI API endpoint at http://<host name>:<port>/uddi/xsd2uddi.

Java  Locate

org.systinet.uddi.client.xsd2uddi.v3.Xsd2uddiApi