BEA AquaLogic Service Registry WSDL-to-UDDI mapping is compliant with OASIS's Technical Note, Using WSDL in a UDDI registry Version 2.0. It enables the automatic publishing of WSDL documents into UDDI, enables precise and flexible UDDI queries based on specific WSDL artifacts and metadata, and provides a consistent mapping for UDDI v2 and UDDI v3.
wsdlDetail completes information about the WSDL to be mapped.
wsdl2uddi:wsdl - Contains URI or physical location of mapped WSDL.
wsdl2uddi:wsdlMapping - Describes wsdl:types to be mapped.
WSDL contains information about location of a mapped WSDL.
wsdlLocation - The URI or physical location of a mapped WSDL.
any - Used to make extensible documents (see XML schema). It is generally used as the DOM pattern of a mapped WSDL.
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.
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. |
PortType represents a mapping of wsdl:portType in UDDI. It contains information necessary to map the wsdl:portType to a corresponding uddi:tModel accurately.
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. |
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 rewrite.
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.
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. |
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 rewrite.
Service represents the mapping of wsdl:service in UDDI. It contains information necessary to map a wsdl:service to the appropriate uddi:businessService precisely.
uddi:businessKey - represents businessKey of an existing uddi:businessEntity to which the translated wsdl:service will be stored.
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. |
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 rewrite.
Port represents a mapping of wsdl:port in UDDI. It contains information necessary to map the wsdl:port to the appropriate uddi:bindingTemplate precisely.
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.
![]() | Note |
---|---|
Note that uddi:bindingKey and uddi:bindingTemplate are mutually exclusive. |
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 rewrite.
The wsdlServiceInfo structure is a simple container of one or more wsdl2uddi:wsdlServiceInfos.
The wsdlServiceInfo completes information about the wsdlLocation and uddi:businessService being searched.
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.
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.
The portInfo completes information about uddi:bindingTemplates used in the uddi:businessService being searched.
uddi:accessPoint contains information about accessing the uddi:businessService being searched.
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.
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).
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 user's 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.
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 rewrite by default. However, if a user wants to reuse an entity or a create a new entity, the default behavior can be changed from "rewrite" to "reuse" or "create" to ensure unique mapping.
Use cases
rewrite - The default behavior of the publish operation. 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 - 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.
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.
wsdl2uddi:wsdlDetail - Contains detailed information about how the individual wsdl:types are published. For more information, please see wsdl2uddi:wsdlDetaill.
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.
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. )
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.
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 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.
This operation discovers corresponding UDDI entities either on the user's 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.
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 "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. |
wsdl2uddi:wsdlServiceInfos - Contains UDDI entities corresponding to wsdl:types from the specified WSDL. For more information, please see wsdl2uddi:wsdlServiceInfos.
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).
This operation discovers corresponding UDDI entities either on the user's 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 user's defined uddi:find_xx.
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. Found uddi:businessServices must follow the same rules as in the case of wsdl2uddi:get_wsdlServiceInfo.
uddi:find_binding - Argument used for a more detailed description of search criteria. For more information, see uddi:find_binding. 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. 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. |
wsdl2uddi:wsdlServiceInfos - Contains UDDI entities corresponding to wsdl:types from the specified WSDL. For more information, please see wsdl2uddi:wsdlServiceInfos.
This operation finds mapping of the WSDL document.
uddi:authInfo - This argument is the string representation of the uddi:authToken.
uddi:findQualifiers - See Find Qualifiers
This operation returns wsdl2uddi:wsdlMapping.
You can find the WSDL2UDDI API endpoint at http://<host name>:<port>/uddi/wsdl2uddi.
org.systinet.uddi.client.wsdl2uddi.v3.Wsdl2uddiApi
Demos v2: WSDL2UDDI demos
Demos v3: WSDL2UDDI demos