Network Deployment (Distributed operating systems), v8.0 > Reference > Developer best practices


Load user-defined value set data

We can use the UDDIUserDefinedValueSet utility to load value set data into the UDDI registry, assign existing value set data to another tModel entity, and unload existing value set data. You load value set data as a step in the procedure to add a user-defined value set to the UDDI registry.


Format of the value set data file

Value set data is identified by a unique code value, an optional description, and a parent code that specifies its relationship with other code values. Value set data must adhere to this format.

We must save the file in UTF-8 format.

Value set data format. The table lists the different value set column names, shows their maximum character lengths and provides a description of each one.

Column name Maximum length Description of use
code 765 Unique value in the value set, which is used for validation
description 765 Typically used by UDDI user consoles and optionally used in the keyedReference element as the keyName value
parentcode 765 Indicates the existing code that is the logical parent of this code, and is used in tree displays

Typically, columns are delimited in the value set data file by number (#) characters, as shown in the following example:

00#Food#00
10#Fruit#00
101#Apples#10
102#Oranges#10
103#Pears#10
1031#Anjou#103
1032#Conference#103
1033#Bosc#103
104#Pomegranates#10
20#Vegetables#00
201#Carrots#20
202#Potatoes#20
203#Peas#20
204#Sprouts#20

In the example, Food is the description of the root node and it has the child nodes Fruit and Vegetables; the parentcode values of both these child nodes are the same as the code value of Food.

The value set data in the example file can then be rendered in a tree, as shown in the following example:

Food
  Fruit
    Apples
    Oranges
    Pears
      Anjou
      Conference
      Bosc
    Pomegranates
  Vegetables
    Carrots
    Potatoes
    Peas
    Sprouts


UDDIUserDefinedValueSet utility

We can use the UDDIUserDefinedValueSet utility to load value set data into the UDDI registry, assign existing value set data to another tModel entity, and unload existing value set data. The utility also supports custom taxonomy files that are used in UDDI v2.

This utility uses the UDDI registry JMX interface and therefore requires a number of connection parameters.

Usage:

UDDIUserDefinedValueSet[.sh|.bat] '{'function'}' [options]

Functions:

-load
<path>
<key>         Load value set data from specified file -newKey
<oldKey>
<newKey>  Move value set to a new tModel
-unload
<key>              Unload existing value set

Options:

-properties
<path>         Specify location of configuration file -host
<host name>          Application Server or dmgr host -port
<port>               SOAP Lister port number
-node
<node name>          Node running a UDDI server -server
<server name>      Server with UDDI deployed
-columnDelimiter
<delim>   Character delimiter to denote field end
-stringDelimiter
<delim>   Character delimiter to denote strings

Connector security parameters

-userName
<name> -password
<password> -trustStore
<path> -trustStorePassword
<password> -keyStore
<name> -keyStorePassword
<password>

Ensure that the command window that you run the UDDIUserDefinedValueSet utility from uses a suitable code page and font to display the characters that are in the value set name. If you use an incorrect code page or font, a successful load might result in unclear messages, and it might be difficult to use the unload and newKey functions.

The UDDIUserDefinedValueSet script is in the WAS_HOME/bin directory.

If you do not supply any connection parameters, a connection is sought on the local host using the default SOAP port number of the dmgr, or, if there is no dmgr running, the default application server SOAP port number.

Command arguments are not case sensitive.

Optionally, you can use the properties parameter to specify a configuration file. This configuration file determines optional properties that you can also specify on the command line. Properties specified on the command line override the values in the configuration file. These properties are largely JMX connection parameters and security parameters.

Typically, you use the stringDelimiter parameter when a description value contains the same character as the column delimiter character. For example, if the columnDelimiter parameter is set to a comma (,) and there is a value set description value of "Fruits, citrus", to include this description in the value set data file, set the stringDelimiter parameter to quotation marks (") and enclose the description in quotes, for example, "Fruits, citrus". Note that you must set a backslash (\) as an escape character to show that the literal character is used.

If you attempt to load a value set to a tModel entity that has existing value set data, a warning message is displayed. To override this warning, you can use the override argument. You also require this argument when you move value set data to a new tModel entity by using the newKey function when the tModel entity is checked, and when you unload value set data for a checked tModel entity.

Command line arguments and properties. The table lists different command line arguments and their properties and contains a comment on each one.

Command line arguments and example data Property and example data Comments
-columnDelimiter # column.delimiter=# The column delimiter used in value set data files.
-stringDelimiter \" string.delimiter=\" The field delimiter. This value must be different from the column.delimiter value.
-host ibm.com host=ibm.com The host name of the system that is running the dmgr or application server
-port 8880 port=8880 The SOAP port number of the dmgr or application server.
-node ibmNode node=ibmNode The name of the node that runs the server with the UDDI registry.
-server server1 server=server1 The server that runs the UDDI registry.
-userName ibmuser security.username=ibmuser The user name. This value is required if WAS security is turned on.
-password mypassword security.password=mypassword The password.
-trustStore /TrustStoreLocation security.truststore=/TrustStoreLocation The truststore file location.
-keyStore ibmkeystore security.keystore=ibmkeystore The keystore name.
-trustStorepassword trustpass security.truststore.password=trustpass The truststore password
-keyStorePassword keypass security.keystore.password=keypass The keystore password.


Usage examples

In the following examples, .xxx is .bat for the Windows operating system or .sh for the UNIX and Linux operating systems.

Load value set data for a tModel entity on the local UDDI registry, using the percent sign as a column marker in the valuesetdata.txt file.

UDDIUserDefinedValueSet.xxx -load valuesetdata.txt
uddi:a708b8a7-35b5-451c-aafc-718ae071fcfe -columnDelimiter %

Move value set data from one checked tModel entity to another on a UDDI registry in a network deployment configuration.

12345678901234567890123456789012345678901234567890123456789012345678901234567890
UDDIUserDefinedValueSet.xxx -newKey
uddi:a708b8a7-35b5-451c-aafc-718ae071fcfe
uddi:b819c9b8-46c6-562d-bb0d-829bf1820d0f -host depmanagerhost.ibm.com
-port 8879 -node uddinode -server uddiserver -override

Unload a value set from a tModel entity from a server with security enabled. Supply the connection and security parameters in the file myproperties.properties, but supply the server and password arguments on the command line. Arguments that are supplied on the command line augment or override the arguments in the properties file.

UDDIUserDefinedValueSet.xxx -unload uddi:b819c9b8-46c6-562d-bb0d-829bf1820d0f
-server uddiserver -properties myproperties.properties -password myrealpassword

Use the UDDI registry


Related


Publish a checked categorization tModel entity
Enable support for a user-defined value set
Validation and error handling for user-defined value sets
User-defined value set support in the UDDI registry

+

Search Tips   |   Advanced Search