WSDL Publishing Advanced APIs
                                                                                Arguments
• wsdl2uddi:wsdl
- Contains URI or physical location of mapped WSDL. •
wsdl2uddi:wsdlMapping - Describes wsdl:types to be mapped.
wsdl
WSDL contains information about location of a mapped WSDL.
Arguments
• wsdlLocation
- The URI or physical location of a mapped WSDL. •
any - Used to make extensible documents see
XML schema [http:www.w3.orgTRxmlschema-1]. It is generally
used as the DOM pattern of a mapped WSDL.
wsdlMapping
WsdlMapping describes the wsdl:types to be mapped. It is used to alter the default behavior of mapping the specified WSDL. In contained structures, it is possible to describe each mapped wsdl:type correctly. This is to ensure exact
mapping and prevent duplication of data in the registry.
Arguments
• uddi:businessKey
- Represents the businessKey of an existing uddi:businessEntity to which the assigned wsdl:types
will be mapped. •
uddi:businessEntity - Represents an existing businessEntity to which the assigned wsdl:types will be mapped.
• wsdl2uddi:porttypes
- Represents the container of wsdl:portTypes to be mapped. wsdl2uddi:porttypes makes it possible map a uddi:tModel to its corresponding
wsdl:portType .
• wsdl2uddi:bindings
- Represents the container of wsdl:bindings to be mapped. wsdl2uddi:bindings makes it possible to map a uddi:tModel to its corresponding wsdl:binding.
• wsdl2uddi:services
- Represents the container of wsdl:services to be mapped. wsdl2uddi:services makes it possible to map a uddi:businessService to its corresponding wsdl:service.
Note
Note that uddi:businessKey and uddi:businessEntity are mutually exclusive.
Page 459
Arguments
portTypes
The portTypes structure is a simple container of one or more wsdl2uddi:portTypes.
portType
PortType represents a mapping of wsdl:portType in UDDI. It contains information necessary to map the wsdl:portType to a corresponding uddi:tModel accurately.
Arguments
• uddi:tModelKey
- Represents the tModelKey of an existing uddi:tModel which will be reused or rewritten depending on the publishingMethod selected by the user with data from wsdl:portType.
• uddi:tModel
- Represents an existing uddi:tModel which will be reused or rewritten depending on the publishingMethod selected by the user with data from wsdl:portType.
Note
Note that uddi:tModelKey and uddi:tModel are mutually exclusive.
Table 28. Attributes
Required Name
optional name
optional namespace
optional publishingMethod
These attributes describe the wsdl:portType
of the appropriate WSDL. Name and namespace represent the wsdl:portType QName. publishingMethod represents an enumeration of available mapping use cases. It can be set to rewrite, create,
reuse , or ignore. The default publishingMethod is reuse.
Bindings
The bindings structure is a simple container of one or more wsdl2uddi:bindings.
binding
Page 460
binding
A binding represents a mapping of wsdl:binding in UDDI. It contains information necessary for the precise mapping of a wsdl:binding to the appropriate uddi:tModel.
Arguments
• uddi:tModelKey
- Represents the tModelKey of an existing uddi:tModel which will be reused or rewritten depending on the publishingMethod selected by the user with data from wsdl:binding.
• uddi:tModel
- Represents an existing uddi:tModel which will be reused or rewritten depending on the publishingMethod selected by the user with data from wsdl:binding.
Note
Note that uddi:tModelKey and uddi:tModel are mutually exclusive.
Table 29. Attributes
Required Name
optional name
optional namespace
optional publishingMethod
These attributes describe the wsdl:binding from the appropriate WSDL. Name and namespace represent the wsdl:binding QName.
publishingMethod represents an enumeration of the available mapping use cases. It can be set to rewrite, create,
reuse , or ignore. The default publishingMethod is reuse.
Services
The services structure is a simple container of one or more wsdl2uddi:services.
service
Service represents the mapping of wsdl:service in UDDI. It contains information necessary to map a wsdl:service to the appropriate uddi:businessService precisely.
Arguments
• uddi:businessKey
- represents businessKey of an existing uddi:businessEntity to which the translated wsdl:service
will be stored.
Page 461
Arguments
• uddi:serviceKey
- represents the serviceKey of an existing uddi:businessService which will be reused or rewritten depending on the publishingMethod selected by user with data from wsdl:service.
• uddi:businessService
- represents an existing uddi:businessService which will be reused or rewritten depending on the publishingMethod selected by user with data from wsdl:service.
• wsdl:ports
- represents existing uddi:bindingTemplates which will be reused or rewritten depending on the publishingMethod selected by user with data from wsdl:service ports.
Note
Note that uddi:serviceKey and uddi:businessService are mutually exclusive.
Table 30. Attributes
Use Name
optional name
optional namespace
optional publishingMethod
These attributes describe the wsdl:service from an appropriate WSDL. Name and namespace represents the wsdl:service QName.
publishingMethod represents an enumeration of available mapping use cases. It can be set to rewrite, create, reuse,
or ignore. The default publishingMethod is reuse.
ports
The ports structure is a simple container for one or more wsdl2uddi:ports.
port
Port represents a mapping of wsdl:port in UDDI. It contains information necessary to map the wsdl:port to the appropriate uddi:bindingTemplate precisely.
Arguments
• uddi:bindingKey
- Represents the bindingKey of an existing uddi:bindingTemplate which will be reused or rewritten depending on the publishingMethod selected by user with data from wsdl:port.
• uddi:bindingTemplate
- Represents an existing uddi:bindingTemplate which will be reused or rewritten depending on the publishingMethod selected by user with data from wsdl:service.
Page 462
Arguments
Note
Note that uddi:bindingKey and uddi:bindingTemplate are mutually exclusive.
Table 31. Attributes
Required Name
optional name
optional publishingMethod
These attributes describe the wsdl:port from an appropriate WSDL.Name represents the wsdl:port name. publishingMethod
represents an enumeration of available mapping use cases. It can be set to rewrite, create, or reuse. The default publishingMethod is reuse.
wsdlServiceInfos
The wsdlServiceInfo structure is a simple container of one or more wsdl2uddi:wsdlServiceInfos.
wsdlServiceInfo
The wsdlServiceInfo completes information about the wsdlLocation and uddi:businessService being searched.
Arguments
• wsdlLocation
- The URI or physical location of a WSDL. •
wsdl2uddi:portInfos - Container for
wsdl2uddi:ports which contain the wsdl:port mapped to the appropriate
uddi:bindingTemplate .
Table 32. Attributes
Required Name
required name
required namespace
required serviceKey
These attributes describes how the wsdl:service is mapped from the appropriate WSDL. Name and namespace represent the wsdl:service QName.
The serviceKey represents the uddi:businessService on which the wsdl:service is mapped.
Page 463
Arguments
PortInfos
The portInfos structure is a simple container of one or more wsdl2uddi:portInfos.
portInfo
The portInfo completes information about uddi:bindingTemplates used in the uddi:businessService being searched.
Arguments
• uddi:accessPoint
contains information about accessing the uddi:businessService being searched.
Table 33. Attributes
Required Name
required name
required bindingKey
These attributes describe how the wsdl:port is mapped from the appropriate WSDL. Name represents the wsdl:port name. BindingKey represents the uddi:bindingTemplate on which the wsdl:port is mapped.
Operations publish_wsdl
Publish_wsdl ensures the publishing of a WSDL to a UDDI registry. It uses the Publishing API to store translated wsdl:types
to the UDDI registry. For more information about the Publishing API, please see UDDI v3 - publishing API
[http:uddi.orgpubsuddi_v3.htm_Toc53709290]. By default UDDI entities are rewritten by data contained in wsdl:types as follows: Each wsdl:type is first searched on
the specified registry. The found UDDI entity is rewritten, or a new entity is created if one is not found. However, the user can specify how the wsdl:types will be published to the registry.
You can alter the default publish behavior and define which wsdl:types will be mapped on the appropriate UDDI entity and, naturally, whether the UDDI entity will be created, rewritten, or reused.
For more information about publish behavior and its use cases, see publishingMethod
. Below are some rules by which wsdl:types
are assigned to the appropriate UDDI entities depending on whether the wsdl:type is found on the user account or on a foreign account. Note that wsdl:services are searched only on the users account, unlike wsdl:portType
or wsdl:binding. This is because it is preferable to use tModels from a foreign account rather then tModels translated from a WSDL.
Page 464
publish_wsdl
publishingMethod
PublishingMethod describes the behavior of the publish operation. In accordance with the set behavior, the corresponding wsdl:type
will be mapped to the UDDI registry. Note that
publish_wsdl is set to reuse by default. However, if a user wants to rewrite an entity or a create a new entity,
the default behavior can be changed from reuse to rewrite or create to ensure unique mapping. Use cases
• rewrite
- wsdl:type is searched on the registry and the found UDDI structure is redrawn by data of that wsdl:type. If the wsdl:type is not found, a new one will be created.
• reuse
- The default behavior of the publish operation. Using this behavior, the user is able to reuse an entire existing UDDI structure. The found UDDI entity will not be redrawn by data of that wsdl:type. Note that when using this
method, inconsistencies may occur between the published wsdl:type and the corresponding UDDI entity. This behavior should be helpful when we need to use existing tModels instead of tModels mapped from wsdl:portTypes
or wsdl:bindings For example, uddi:hostingRedirectors.
• create
- This method is used mainly for testing purposes. By using this behavior a new UDDI entity is created from the wsdl:type regardless of whether the UDDI entity already exists on the registry.
Important
When using this behavior, undesirable duplications may occur. It is necessary to use this behavior carefully. •
ignore - This method is used when you do not want to publish the UDDI entity. You can restrict which parts of the
WSDL document will be published.
Arguments
• uddi:authInfo
- This required argument is the string representation of the uddi:authToken. •
wsdl2uddi:wsdlDetail - Completes WSDL location and user-defined WSDL mapping rules. For more information,
please see wsdl2uddi:wsdlDetaill
. Here the user can specify which wsdl:type from the WSDL corresponds to the entity on the target registry and how
the specified wsdl:type will be mapped. For more information, please see wsdl2uddi:publishingMethod
.
Returns
wsdl2uddi:wsdlDetail - Contains detailed information about how the individual wsdl:types are published. For more
information, please see wsdl2uddi:wsdlDetaill
.
unpublish_wsdl
Unpublish_wsdl ensures unpublishing of WSDL from UDDI registry. It uses the Publishing API to delete UDDI entities corresponding to wsdl:types from a UDDI registry. For more information about the Publishing API, please see
UDDI v3 - publishing API
[http:uddi.orgpubsuddi_v3.htm_Toc53709290].
Page 465
unpublish_wsdl
Each wsdl:type is first searched on the specified registry. The found UDDI entity is deleted or if the entity is not found it is simply omitted. Found tModels are either physically deleted or only marked as deprecated in accordance with
configuration. When tModels are deleted by their owners, they are generally marked as deprecated. Usually only the administrator can permanently delete deprecated tModels from the registry.
Arguments
• uddi:authInfo
- This required argument is the string representation of the uddi:authToken. •
wsdl2uddi:wsdlDetail - completes the WSDL location and user-defined WSDL unpublish rules. For more information,
please see wsdl2uddi:wsdlDetaill
. Here the user can specify which wsdl:type from a WSDL corresponds to the UDDI entity existing on the target registry. This is because that wsdl:type can occur more than once on a registry.
Returns
wsdl2uddi:wsdlDetail - Contains detailed information about how individual wsdl:types are unpublished from a target
registry. For more information, please see wsdl2uddi:wsdlDetaill
.
get_wsdlServiceInfo
Get_wsdlServiceInfo discovers uddi:businessServices corresponding to wsdl:services from a particular WSDL. It uses the Inquiry API to get UDDI entities matching wsdl:types. For more information about the Inquiry API, please see
UDDI-inquiry API [http:uddi.orgpubsuddi_v3.htm_Toc53709271].
This operation discovers corresponding UDDI entities either on the users account or on the foreign account in accordance with the specified uddi:authInfo. In consideration with multiple occurrences of UDDI entities corresponding to
wsdl:types , the search algorithm optimizes output in accordance with relations between individual wsdl:types from
the given WSDL. Only the wsdl2uddi:wsdlServiceInfo
corresponding exactly to the wsdl:service from the WSDL that is, that contains all wsdl:types from the appropriate WSDL will be returned.
Arguments
• uddi:authInfo
- This optional argument is the string representation of the uddi:authToken. •
wsdl2uddi:wsdl - An argument used to discover
wsdl2uddi:wsdlServiceInfos . This argument ensures that only the
uddi:businessService corresponding exactly to the wsdl:service from that WSDL will be returned. For more
information, please see wsdl2uddi:wsdl
. •
uddi:serviceKey - uddi:serviceKey of uddi:businessService existing on the target registry. Note that only
uddi:businessServices containing a WSDL Type Category System that is, the uddi:categoryBag of a found
uddi:businessService must contain a uddi:keyedReference with a uddi:tModelKey representing WSDL Type
Category System and the keyValue service will be returned. •
uddi:bindingKey - uddi:bindingKey of uddi:bindingTemplate existing on the target registry. For UDDI v3 holds
that only uddi:businessServices which contain uddi:bindingTemplate corresponding to a given uddi:bindingKey with the WSDL Type Category System. that is, the uddi:categoryBag of a found uddi:bindingTemplate must
contain uddi:keyedReference with uddi:tModelKey representing WSDL Type Category System and the keyValue
Page 466
Arguments
binding will be returned. Naturally this WSDL Type Category System must also be contained in the appropriate uddi:businessService
. Note that uddi:bindingTemplates in v2 do not contain uddi:categoryBag. Even though the found
uddi:bindingTemplate must contain uddi:tModels compliant with WSDL Type Category System in its
uddi:tModelInstanceDetails. •
uddi:tModelKey - the uddi:tModelKey of the uddi:tModel existing on the target registry. Note that only
uddi:businessServices which use uddi:tModels compliant with WSDL Type Category System will be returned. That is, the uddi:categoryBag of the found uddi:tModel must contain uddi:keyedReference with uddi:tModelKey
representing WSDL Type Category System and the keyValue binding or portType. Naturally, this WSDL Type Category System must also be contained in the appropriate uddi:businessService.
Note
Note that wsdl2uddi:wsdl, uddi:serviceKey, uddi:bindingKey and uddi:tModelKey are mutually exclusive.
Returns
wsdl2uddi:wsdlServiceInfos - Contains UDDI entities corresponding to wsdl:types from the specified WSDL. For
more information, please see wsdl2uddi:wsdlServiceInfos
.
find_wsdlServiceInfo
This operation is a bit more complex than wsdl2uddi:get_wsdlServiceInfo
. Find_wsdlServiceInfo discovers uddi:businessServices
corresponding to wsdl:services from a particular WSDL. It uses the Inquiry API to find UDDI entities matching wsdl:types. For more information about the Inquiry API, please see
UDDI-inquiry API [http:
uddi.orgpubsuddi_v3.htm_Toc53709271]. This operation discovers corresponding UDDI entities either on the users account or on a foreign account in accordance
with the specified uddi:authInfo. In consideration for multiple occurrence of UDDI entities corresponding to wsdl:types, the search algorithm optimizes output in accordance with relations between individual wsdl:types from the specified
WSDL and the uddi:find_xx structure specified by the user. Only the wsdl2uddi:wsdlServiceInfo
corresponding exactly to the wsdl:service from the WSDL will be returned, that is, the wsdl2uddi:wsdlServiceInfo containing all wsdl:types
from the appropriate WSDL at once, and satisfying the users defined uddi:find_xx.
Arguments
• uddi:authInfo
- This optional argument is the string representation of the uddi:authToken. •
wsdl2uddi:wsdl - required argument used to discover
wsdl2uddi:wsdlServiceInfos . This argument ensures that only
the uddi:businessService corresponding exactly to the wsdl:service from that WSDL will be returned. For more information, please see
wsdl2uddi:wsdl .
• uddi:find_service
- Argument used for a more detailed description of search criteria. For more information, see uddi:find_service
[http:uddi.orgpubsuddi_v3.htm_Toc53709283]. Found uddi:businessServices must follow the same rules as in the case of
wsdl2uddi:get_wsdlServiceInfo .
Page 467
Arguments
• uddi:find_binding
- Argument used for a more detailed description of search criteria. For more information, see uddi:find_binding
[http:uddi.orgpubsuddi_v3.htm_Toc53709280]. Found uddi:businessServices and uddi:bindingTemplates
must follow the same rules as in the case of wsdl2uddi:get_wsdlServiceInfo
. •
uddi:find_tModel - Argument used for a more detailed description of search criteria. For more information, see
uddi:find_tModel [http:uddi.orgpubsuddi_v3.htm_Toc53709284]. Found UDDI entities must follow the same
rules as in the case of wsdl2uddi:get_wsdlServiceInfo
.
Note
Note that uddi:find_service, uddi:find_binding and uddi:find_tModel are mutually exclusive.
Returns
wsdl2uddi:wsdlServiceInfos - Contains UDDI entities corresponding to wsdl:types from the specified WSDL. For
more information, please see wsdl2uddi:wsdlServiceInfos
.
find_wsdlMapping
This operation finds mapping of the WSDL document.
Arguments
• uddi:authInfo
- This argument is the string representation of the uddi:authToken. •
uddi:findQualifiers - See
Find Qualifiers [http:uddi.orgpubsuddi-v3.0.1-20031014.htm_Toc53709275]
• wsdl2uddi:wsdl
Returns
This operation returns wsdl2uddi:wsdlMapping
. WSDL
wsdl2uddi_v2.wsdl.wsdl [http:www.systinet.comdocsr-65wsdlwsdl2uddi_v2.wsdl]
wsdl2uddi_v3.wsdl.wsdl [http:www.systinet.comdocsr-65wsdlwsdl2uddi_v3.wsdl]
API Endpoint
You can find the WSDL2UDDI API endpoint at http:host name:portcontextuddiwsdl2uddi.
Java
org.systinet.uddi.client.wsdl2uddi.v3.Wsdl2uddiApi Demos v2:
WSDL2UDDI demos Demos v3:
WSDL2UDDI demos
Page 468
Java