XSD Publishing Advanced APIs
                                                                                Data Structures Elements
This structure represents elements declared by the published XML Schema Document.
Arguments
• element
- This argument represents an element declared by the published XML Schema Document.
importedSchemaModel
This structure contains the basics of the imported XML Schema tModel.
Arguments
• uddi:tModelKey
- The key of the tModel of the schema of the imported XML namespace. •
uddi:name - The name of that schemas tModel.
resourceInfo
This structure describes the location of the XML Schema Document.
schemaCandidate
This structure holds possible mappings of how the XML Schema Document can be published.
Arguments
• location
- The location of the candidate XML Schema Document. •
xsd2uddi:schemaMapping - The mapping of the candidate XML Schema Document contents
Page 476
Arguments
schemaImport
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
• 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
This structure describes a list of xs:imports in the schema.
schemaMapping
This structure describes a mapping of the XSD contents to an individual XSD tModel and its contents.
Arguments
• 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.
Page 477
Arguments
schemaMappings
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
• xsd2uddi:schemaImports
- mapping for referenced imported XML Schema Documents. •
xsd2uddi:schemaCandidate - an individual mapping candidate.
symbol
This structure holds mapping of an individual symbol XSD element and type to the registry.
Arguments
• localName
- Local name of the mapped symbol. •
xsd2uddi:symbolModel - The basics of the tModel that represents the symbol.
symbols
A common structure for mapping types and elements.
symbolModel
Basic information about a tModel that represents an element or a type declared by the XML Schema Document
Arguments
• uddi:name
- Name of the symbols tModel. This argument is optional when publishing a XML Schema Document; it is always filled in API responses.
• uddi:tModelKey
- tModelKey of the symbols model
Page 478
Arguments
types
Mapping of types declared by the XML Schema Document being mapped
xsdDetail
The structure provides detailed information about a specific XML Schema Document, its contents and its references.
Arguments
• xsd2uddi:xsdInfo
- General information about the XML Schema Document itself •
xsd2uddi:schemaImports - Information about XML namespaces imported into the XML Schema Document
• xsd2uddi:elements
- List of elements in the schema •
xsd2uddi:types - List of types in the schema
xsdDetails
Details of the XSD
xsdInfo
This structure holds general information about the XML Schema Document.
Arguments
• 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 schemas tModel
Page 479
Arguments
• uddi:name
- tModel name for the schemas tModel
xsdResourceList
Table 39. Attributes
Required Name
optional truncated
This structure holds a list of XSDs, returned from a find_xsd call.
Arguments
• uddi:listDescription
- holds a list of descriptions as specified in UDDIs API documentation. •
xsd2uddi:xsdInfo - holds information about individual registered XSD models.
Operations find_xsd
Syntax
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 40. Attributes
Required Name
optional listHead
optional maxRows
Page 480
Syntax
Arguments
• 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 [http:uddi.orgpubsuddi_v3.htm_Toc53709284]. 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
This API call returns the xsdResourceList
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 Syntax
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
• uddi:authInfo
- Optional - authentication •
xsd2uddi:resourceInfo - The XSD identification location
Page 481
Arguments
• 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
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 Syntax
Gets the detail about a published XML Schema Document tModels.
Arguments
• 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
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 Syntax
Page 482
Syntax
Table 41. Attributes
Required Name
optional importPolicy
optional contentPolicy
optional publishingMethod
optional contentPublishingMethod
optional importPublishingMethod
Request to publish XML schema information to 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
• 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
Page 483
Arguments
• 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
This API call returns the xsdDetail with the published XML Schema Document information on success.
unpublish_xsd Syntax
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
• 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
This API call returns the xsdDetail
on success.
WSDL
xsd2uddi_v3.wsdl [http:www.systinet.comdocsr-65wsdlxsd2uddi_v3.wsdl]
API Endpoint
You can find the XSD2UDDI API endpoint at http:host name:portcontextuddixsd2uddi.
Java
org.systinet.uddi.client.xsd2uddi.v3.Xsd2uddiApi