WAS v8.5 > 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.

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 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          Application Server 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 the command window that you run the UDDIUserDefinedValueSet utility from uses a suitable code page andfont to display the characters that are in the value set name. If we 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 app_server_root/bin directory.

If we do not supply any connection parameters, a connection is sought on the local host using the default application server SOAP port number.

Command arguments are not case sensitive.

Optionally, we can use the properties parameter to specify a configuration file. This configuration file determines optional properties that we 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, we 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 set a backslash (\) as an escape character to show 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, we can use the override argument. You also require this argument when we move value set data to a new tModel entity using the newKey function when the tModel entity is checked, and when we 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 application server

-port 8880 port=8880

The SOAP port number of the 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 WebSphere Application Server 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 


Related


Use the UDDI registry


Reference:

Publish a checked categorization tModel entity
Enable support for a user-defined value set
Validation and error handling for user-defined value sets


+

Search Tips   |   Advanced Search