30.2 VDX Web Service API

This section provides details about the methods available with the VDX Web service. This API presumes you’re using Java code generated by the WSSDK toolkit. The API will be different if you’re using another Web Service toolkit.

All of the methods throw VdxServiceException. To improve readability, the throws clause has been omitted from the method signatures.

30.2.1 IRemoteVdx

This section provides reference information for each method associated with the IRemoteVdx interface.

getVersion

Returns the version number of the VDX service you’re running.

Syntax: Here is the method signature:

VersionVO getVersion() throws java.rmi.RemoteException;

globalQuery

Allows you to execute predefined searches called global queries. Global queries are saved searches for LDAP. They provide some of the capabilities of stored procedures.

To define a global query, you need to use the directory abstraction layer editor. For details, see the chapter on the directory abstraction layer editor in the Identity Manager User Application: Design Guide.

Syntax: Here is the method signature:

java.lang.String[] globalQuery(java.lang.String queryDN, StringMap queryParameterValues) throws VdxServiceException, java.rmi.RemoteException;

query

Allows you to perform ad hoc queries by specifying an entity, a set of attributes, and a query expression that filters the data returned.

Syntax: Here is the method signature:

EntityAttributeMap query(java.lang.String entityDefinition, java.lang.String[] attributeKeys, java.lang.String queryFilter) throws VdxServiceException, java.rmi.RemoteException;

Query Grammar

The queryFilter parameter of the query() method lets you pass in search criteria expressions that filter the data returned. This section describes the grammar for these expressions.

Query syntax 1: The simplest form of a query is the following:

                RelationalExpression1
              

Query syntax 2: A query can also combine relational expressions with a logical operator:

RelationalExpession1 logicalOperator  RelationalExpression2 

Query syntax 3: Alternatively, a query can use parentheses to set off the expressions:

(RelationalExpession1) logicalOperator  (RelationalExpression2) 

Query syntax 4: A query can also use parentheses to set off sub queries:

RelationalExpession1 logicalOperator  (RelationalExpression2 logicalOperator1 RelationalExpression3) 

Relational expressions must be separated by a logical operator which must remain the same. In other words, the following query is valid:

expression1 AND expression2 AND expression3

However, this query is not valid:

expression1 AND expression2 OR expression3

You can use parentheses to create a condition group, as in the following example:

expression1 AND (expression2 OR expression3)

Grammar for Relational Expressions

Relational expression syntax: A relational expression must conform to this syntax:

                attribute 
                relationalOperator 
                value
              

Grammar for Operators and Values

Relational operators: The relational operator must be one of the following:

> , < , >= , <= , = , != , !< , !> , !<= , !>= , STARTWITH, !STARTWITH, IN , !IN , PRESENT, !PRESENT

Logical operators: The logical operator must be one of the following:

AND, OR

Value: The value side of an expression must be one of the following:

'foo',"foo", 1-9, true, false

The PRESENT and !PRESENT relational operators require no value.

getAttribute

Returns a single Attribute object that can be used to retrieve and examine data for an attribute in the directory abstraction layer.

Syntax: Here is the method signature:

Attribute getAttribute(java.lang.String objectDN, java.lang.String entityDefinition, java.lang.String attributeKey) throws VdxServiceException, java.rmi.RemoteException;

getAttributes

Returns an array of Attribute objects that can be used to retrieve and examine data in the directory abstraction layer.

Syntax: Here is the method signature:

Attribute[] getAttributes(java.lang.String objectDN, java.lang.String entityDefinition, java.lang.String[] attributeKeys) throws VdxServiceException, java.rmi.RemoteException;

30.2.2 Attribute

The Attribute class represents an attribute in the directory abstraction layer.

This section provides reference information for the Attribute class.

Attribute constructors

The Attribute class has two constructors.

Syntax 1: Here is the syntax for a constructor that takes no arguments:

Attribute()

Syntax 2: Here is the syntax for a constructor that takes arrays of all the supported data types as arguments:

Attribute(ByteArrayArray BinariesVal, BooleanArray BooleansVal, DateArray DatesVal, IntegerArray IntegersVal, StringArray StringsVal, AttributeType TypeVal)

getBinaries

Returns the ByteArrayArray object for the attribute.

Syntax: Here is the method signature:

ByteArrayArray getBinaries()

setBinaries

Sets the ByteArrayArray object for the attribute.

Syntax: Here is the method signature:

void setBinaries(ByteArrayArray BinariesVal)

getBooleans

Returns the BooleanArray object for the attribute.

Syntax: Here is the method signature:

BooleanArray getBooleans()

setBooleans

Sets the BooleanArray object for the attribute.

Syntax: Here is the method signature:

void setBooleans(BooleanArray BooleansVal)

getDates

Returns the DateArray object for the attribute.

Syntax: Here is the method signature:

DateArray getDates()

setDates

Sets the DateArray object for the attribute.

Syntax: Here is the method signature:

void setDates(DateArray DatesVal)

getIntegers

Returns the IntegerArray object for the attribute.

Syntax: Here is the method signature:

IntegerArray getIntegers()

setIntegers

Sets the IntegerArray object for the attribute.

Syntax: Here is the method signature:

void setIntegers(IntegerArray IntegersVal)

getStrings

Returns the StringArray object for the attribute.

Syntax: Here is the method signature:

StringArray getStrings()

setStrings

Set the StringArray object for the attribute.

Syntax: Here is the method signature:

void setStrings(StringArray StringsVal)

getType

Returns the AttributeType object for the attribute.

Syntax: Here is the method signature:

AttributeType getType()

setType

Sets the AttributeType object for the attribute.

Syntax: Here is the method signature:

void setType(AttributeType TypeVal)

30.2.3 AttributeArray

This section provides reference information on the AttributeArray class.

AttributeArray constructors

The AttributeArray class has two constructors.

Syntax 1: Here is the syntax for a constructor that takes no parameters:

AttributeArray()

Syntax 2: Here is the syntax for a constructor that takes an array of Attribute objects as a parameter:

AttributeArray(Attribute[] AttributeVal)

getAttribute

Returns an array of Attribute objects.

Syntax: Here is the method signature:

Attribute[] getAttribute()

setAttribute

Sets the array of Attribute objects associated with the AttributeArray class.

Syntax: Here is the method signature:

void setAttribute(Attribute[] AttributeVal)

30.2.4 AttributeType

This section provides reference information on the AttributeType class.

AttributeType constructors

The AttributeType class supports a single constructor.

Syntax: Here is the syntax for the constructor:

protected AttributeType(java.lang.String value)

getValue

Returns a String that indicates the attribute type.

Syntax: Here is the method signature:

java.lang.String getValue()

30.2.5 BooleanArray

This section provides reference information for the BooleanArray class.

BooleanArray constructors

The BooleanArray class has two constructors.

Syntax 1: Here is the syntax for a constructor that takes no parameters:

BooleanArray()

Syntax 2: Here is the syntax for a constructor that takes a boolean value as a parameter:

BooleanArray(boolean[] BooleanVal)

getBoolean

Returns an array of boolean values for an attribute.

Syntax: Here is the method signature:

boolean[] getBoolean()

setBoolean

Sets an array of boolean values for an attribute.

Syntax: Here is the method signature:

void setBoolean(boolean[] BooleanVal)

30.2.6 ByteArrayArray

This section provides reference information on the ByteArrayArray class.

ByteArrayArray constructors

The ByteArrayArray class has two constructors.

Syntax 1: Here is the syntax for a constructor that takes no parameters:

ByteArrayArray()

Syntax 2: Here is the syntax for a constructor that takes a Base 64 binary value as a parameter:

ByteArrayArray(byte[][] Base64BinaryVal)

getBase64Binary

Returns a two-dimensional array of bytes for an attribute.

Syntax: Here is the method signature:

byte[][] getBase64Binary()

setBase64Binary

Sets a two-dimensional array of bytes for an attribute.

Syntax: Here is the method signature:

void setBase64Binary(byte[][] Base64BinaryVal)

30.2.7 DateArray

This section provides reference information for the DateArray class.

DateArray constructors

The DateArray class has two constructors.

Syntax 1: Here is the syntax for a constructor that takes no parameters:

DateArray()

Syntax 2: Here is the syntax for a constructor that takes a Calendar array as a parameter:

DateArray(java.util.Calendar[] DatetimeVal)

getDatetime

Returns an array of Calendar objects for an attribute.

Syntax: Here is the method signature:

java.util.Calendar[] getDatetime()

setDatetime

Sets an array of Calendar objects for an attribute.

Syntax: Here is the method signature:

void setDatetime(java.util.Calendar[] DatetimeVal)

30.2.8 EntryAttributeMap

The EntryAttributeMap class is a container for an EntryArray object. It is returned by the query method on the stub.

This section provides reference information on the methods associated with the EntryAttributeMap class.

EntryAttributeMap constructors

The EntryAttributeMap class has two constructors.

Syntax 1: Here is the syntax for a constructor that takes no parameters:

EntryAttributeMap()

Syntax 2: Here is the syntax for a constructor that takes an EntryArray object as a parameter:

EntityAttributeMap(EntryArray EntriesVal)

getEntries

Returns the EntryArray object contained within this EntryAttributeMap object.

Syntax: Here is the method signature:

EntryArray getEntries()

setEntries

Sets the EntryArray object for this EntryAttributeMap object.

Syntax: Here is the method signature:

void setEntry(EntryArray EntriesVal)

30.2.9 Entry

The Entry class represents an entry in an EntryArray object.

This section provides reference information for each method associated with the Entry class.

Entry constructors

The Entry class has two constructors.

Syntax 1: Here is the syntax for a constructor that takes no parameters:

Entry()

Syntax 2: Here is the syntax for a constructor that takes two parameters, the key value and an array of attribute values:

Entry(java.lang.String KeyVal, AttributeArray ValuesVal)

getKey

Returns the key defined for the Entry object. The key identifies the attribute.

Syntax: Here is the method signature:

java.lang.String getKey()

setKey

Sets the key for the Entry object. The key identifies the attribute.

Syntax: Here is the method signature:

void setKey(java.lang.String KeyVal)

getValues

Returns a AttributeArray object representing the values for the Entry object.

Syntax: Here is the method signature:

AttributeArray getValues()

setValues

Sets the values for the Entry object.

Syntax: Here is the method signature:

void setValues(AttributeArray ValuesVal)

30.2.10 EntryArray

The EntryArray class is a container for an array of Entry objects. It is contained by the EntryAttributeMap object.

This section provides reference information on the methods associated with the EntryArray class.

EntryArray constructors

The EntryArray class has two constructors.

Syntax 1: Here is the syntax for a constructor that takes no parameters:

EntryArray()

Syntax 2: Here is the syntax for a constructor that takes an array of Entry objects as a parameter:

EntryArray(Entry[] EntryVal)

getEntry

Returns the Entry object contained within this EntryArray object.

Syntax: Here is the method signature:

Entry[] getEntry()

setEntry

Sets the Entry object for this EntryArray object.

Syntax: Here is the method signature:

void setEntry(Entry[] EntryVal)

30.2.11 IntegerArray

This section provides reference information for the IntegerArray class.

IntegerArray constructors

The IntegerArray class has two constructors.

Syntax 1: Here is the syntax for a constructor that takes no parameters:

IntegerArray()

Syntax 2: Here is the syntax for a constructor that takes an int array as a parameter:

IntegerArray(int[] IntVal)

getInt

Returns an array of integers for an attribute.

Syntax: Here is the method signature:

int[] getInt()

setInt

Sets an array of integers for an attribute.

Syntax: Here is the method signature:

void setInt(int[] IntVal)

30.2.12 StringArray

The StringArray class is a container for an array of String objects. When you call the query() and getAttributes() methods, you pass in a StringArray object to specify which attributes you want to retrieve values for.

This section provides reference information for the StringArray class.

StringArray constructors

The StringArray class has two constructors.

Syntax 1: Here is the syntax for a constructor that takes no parameters:

StringArray()

Syntax 2: Here is the syntax for a constructor that takes an String array as a parameter:

StringArray(java.lang.String[] StringVal)

getString

Returns the array of String objects associated with the StringArray object.

Syntax: Here is the method signature:

java.lang.String[] getString()

setString

Sets the array of String objects associated with the StringArray object.

Syntax: Here is the method signature:

void setString(java.lang.String[] StringVal)

30.2.13 StringEntry

The StringEntry class is contained by the the StringEntryArray class.

This section provides reference information for the StringEntry class.

StringEntry constructors

The StringEntry class has two constructors.

Syntax 1: Here is the syntax for a constructor that takes no parameters:

StringEntry()

Syntax 2: Here is the syntax for a constructor that takes a key and a String value as parameters:

StringEntry(java.lang.String KeyVal, java.lang.String ValuesVal)

getKey

Returns the key defined for the StringEntry object.

Syntax: Here is the method signature:

java.lang.String getKey()

setKey

Sets the key for the StringEntry object.

Syntax: Here is the method signature:

void setKey(java.lang.String KeyVal)

30.2.14 StringEntryArray

The StringEntryArray class is a container for an array of StringEntry objects. It is contained by the StringMap object.

This section provides reference information for the StringEntryArray class.

StringEntryArray constructors

The StringEntryArray class has two constructors.

Syntax 1: Here is the syntax for a constructor that takes no parameters:

StringEntryArray()

Syntax 2: Here is the syntax for a constructor that takes a StringEntry array as a parameter:

StringEntryArray(StringEntry[] StringentryVal)

getStringentry

Returns the key for the StringEntryArray object.

Syntax: Here is the method signature:

StringEntry[] getStringentry()

setStringentry

Sets the key for the StringEntryArray object.

Syntax: Here is the method signature:

void setStringentry(StringEntry[] StringentryVal)

30.2.15 StringMap

The StringMap is a container for a StringEntryArray object.

This section provides reference information on the StringMap class.

StringMap constructors

The StringMap class has two constructors.

Syntax 1: Here is the syntax for a constructor that takes no parameters:

StringMap()

Syntax 2: Here is the syntax for a constructor that takes a StringEntryArray as a parameter:

StringMap(StringEntryArray EntriesVal)

getEntries

Returns the StringEntryArray object contained by this StringMap object.

Syntax: Here is the method signature:

StringEntryArray getEntries()

setEntries

Sets the StringEntryArray object for this StringMap object.

Syntax: Here is the method signature:

void setEntries(StringEntryArray EntriesVal)

30.2.16 VdxService

This section provides reference information for the VdxService interface.

getIRemoteVdxPort

Gets the stub for the remote service. The stub is a port of type IRemoteVdx.

Syntax: Here is the method signature:

IRemoteVdx getIRemoteVdxPort() throws javax.xml.rpc.ServiceException;

30.2.17 VersionVO

This section provides reference information on the VersionVO class.

getValue

Returns the version number of the service.

Syntax: Here is the method signature:

java.lang.String getValue()