WSDL Publishing  Locate

Oracle 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 to 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.

Data Structures  Locate
wsdlDetail  Locate

wsdlDetail completes information about the WSDL to be mapped.

Arguments  Locate
wsdl  Locate

WSDL contains information about location of a mapped WSDL.

Arguments  Locate
  • 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  Locate

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  Locate
  • 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

Note that uddi:businessKey and uddi:businessEntity are mutually exclusive.

portTypes  Locate

The portTypes structure is a simple container of one or more wsdl2uddi:portTypes.

portType  Locate

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  Locate
  • 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

Note that uddi:tModelKey and uddi:tModel are mutually exclusive.

Table 28. Attributes

NameRequired
nameoptional
namespaceoptional
publishingMethodoptional

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  Locate

The bindings structure is a simple container of one or more wsdl2uddi:bindings.

binding  Locate

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  Locate
  • 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

Note that uddi:tModelKey and uddi:tModel are mutually exclusive.

Table 29. Attributes

NameRequired
nameoptional
namespaceoptional
publishingMethodoptional

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  Locate

The services structure is a simple container of one or more wsdl2uddi:services.

service  Locate

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  Locate
  • 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

Note that uddi:serviceKey and uddi:businessService are mutually exclusive.

Table 30. Attributes

NameUse
nameoptional
namespaceoptional
publishingMethodoptional

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  Locate

The ports structure is a simple container for one or more wsdl2uddi:ports.

port  Locate

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  Locate
  • 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

Note that uddi:bindingKey and uddi:bindingTemplate are mutually exclusive.

Table 31. Attributes

NameRequired
nameoptional
publishingMethodoptional

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  Locate

The wsdlServiceInfo structure is a simple container of one or more wsdl2uddi:wsdlServiceInfos.

wsdlServiceInfo  Locate

The wsdlServiceInfo completes information about the wsdlLocation and uddi:businessService being searched.

Arguments  Locate
  • 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

NameRequired
namerequired
namespacerequired
serviceKeyrequired

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.

PortInfos  Locate

The portInfos structure is a simple container of one or more wsdl2uddi:portInfos.

portInfo  Locate

The portInfo completes information about uddi:bindingTemplates used in the uddi:businessService being searched.

Arguments  Locate
  • uddi:accessPoint contains information about accessing the uddi:businessService being searched.

Table 33. Attributes

NameRequired
namerequired
bindingKeyrequired

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  Locate
publish_wsdl  Locate

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  Locate

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]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  Locate
  • 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  Locate

wsdl2uddi:wsdlDetail - Contains detailed information about how the individual wsdl:types are published. For more information, please see wsdl2uddi:wsdlDetaill.

unpublish_wsdl  Locate

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. )

Arguments  Locate
  • 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  Locate

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  Locate

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.

Arguments  Locate
  • 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

Note that wsdl2uddi:wsdl, uddi:serviceKey, uddi:bindingKey and uddi:tModelKey are mutually exclusive.

Returns  Locate

wsdl2uddi:wsdlServiceInfos - Contains UDDI entities corresponding to wsdl:types from the specified WSDL. For more information, please see wsdl2uddi:wsdlServiceInfos.

find_wsdlServiceInfo  Locate

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.

Arguments  Locate
  • 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

Note that uddi:find_service, uddi:find_binding and uddi:find_tModel are mutually exclusive.

Returns  Locate

wsdl2uddi:wsdlServiceInfos - Contains UDDI entities corresponding to wsdl:types from the specified WSDL. For more information, please see wsdl2uddi:wsdlServiceInfos.

find_wsdlMapping  Locate

This operation finds mapping of the WSDL document.

Arguments  Locate
Returns  Locate

This operation returns wsdl2uddi:wsdlMapping.

WSDL  Locate

wsdl2uddi_v2.wsdl.wsdl

wsdl2uddi_v3.wsdl.wsdl

API Endpoint  Locate

You can find the WSDL2UDDI API endpoint at http://<host name>:<port>/<context>/uddi/wsdl2uddi.

Java  Locate

org.systinet.uddi.client.wsdl2uddi.v3.Wsdl2uddiApi

Demos v2: WSDL2UDDI demos

Demos v3: WSDL2UDDI demos