Data Types

Designer supports several data types for use in services. Each data type supported by Designer corresponds to a Java data type and has an associated icon. Designer applies different Java classes and displays different icons depending on whether the data type is associated with:

  • An element in an IData object
  • An Object or Object list to which you have applied a Java class
Note: Designer does not provide a separate data type for tables.

Data Types in IData Objects

Data is passed in and out of a service through an IData object. An IData object is the collection of name/value pairs on which a service operates. An IData object can contain any number of elements of any valid Java objects, including additional IData objects and IDataCodable objects.

Each element stored in an IData object corresponds to a data type. The following table identifies the data types supported by Designer.

Data Type Icon Description Java Class
String String of characters. java.lang.String
String list A one-dimensional String array. java.lang.String[ ]
String table A two-dimensional String array. java.lang.String[ ][ ]
Document A data structure that is a container for other variables. Documents can contain variables of any other data type. The contents of a document (IData object) are stored as key/value pairs where the variable name is the key. com.wm.data.IData

com.wm.util.Values

For more information, see the webMethods Integration Server Java API Reference.

Document list A one-dimensional array of IS document types (IData [ ]or Values [ ]). com.wm.data.IData [ ]

com.wm.util.Values [ ]

com.wm.util.Table

Document reference A document whose structure is defined by an IS document type. Reference to an existing object which implements the com.wm.data.IData interface or a reference to an existing com.wm.util.Values object.
Document reference list A document list whose structure is defined by an IS document type. Reference to an existing object which implements the com.wm.data.IData interface or a reference to an existing com.wm.util.Values object.
Object A data type that does not fall into any of the data types described in the above rows, and is not declared to be one of the basic Java classes supported natively by Integration Server. This icon is used for Objects of unknown type. Any subclass of java.lang.Object.

Example:

java.io.InputStream

Object list An array of Objects of unknown type. An array of any subclass of java.lang.Object.

Example:

java.io.InputStream[ ]

Note: Designer displays small symbols next to variable icons to indicate validation constraints. Designer uses to indicate an optional variable and the ‡ symbol to denote a variable with a content constraint. Designer also uses to indicate that the variable has a default value that can be overridden assigned to it and to indicate that the variable has a null value that cannot be overridden assigned to it. A combination of the and symbols next to a variable icon indicates that the variable has a fixed default value that is not null and cannot be overridden.

Java Classes for Objects

You can further describe the contents of an Object or Object list variable by applying a Java class to the variable. When you apply a supported Java class to an Object or Object list variable, Designer changes the icon for the variable. Applying Java classes to Objects and Object lists can provide the following benefits:

  • Other developers can easily see the types your service expects as inputs and produces as output.
  • Other developers can easily see the types contained in an IS document type.
  • You can input values for the variable when running and debugging.
  • You can assign values to variables in the pipeline using on the Pipeline view toolbar.
Note: When you input values for a constrained Object during debugging or when assigning a value in the pipeline, Designer validates the data to make sure it is of the correct type.

The following table identifies the Java classes you can apply to Objects and Object list variables in Designer.

Data Type Icon Description Java Class
boolean True or false. java.lang.Boolean
boolean list A one-dimensional boolean array. java.lang.Boolean[ ]
byte Signed integer. The value must be greater than or equal to –128 but less than or equal to 127. java.lang.Byte
byte [ ] A one-dimensional byte array. primitive type
byte list A one-dimensional byte array. java.lang.Byte[ ]
character A single unicode character. java.lang.Character
character list A one-dimensional character array. java.lang.Character[ ]
date Date and time. java.util.Date
date list A one-dimensional date array. java.util.Date[ ]
double Double-precision floating point number. java.lang.Double
double list A one-dimensional double array. java.lang.Double[ ]
float Standard-precision floating point number. java.lang.Float
float list A one-dimensional float array. java.lang.Float[ ]
integer Signed integer. The value must be greater than or equal to -2147483648 but less than or equal to 2147483647. java.lang.Integer
integer list A one-dimensional integer array. java.lang.Integer[ ]
long Signed integer. The value must be greater than or equal to –9223372036854775808 but less than or equal to 9223372036854775807. java.lang.Long
long list A one-dimensional long array. java.lang.Long[ ]
short Signed integer. The value must be greater than or equal to -32768 but less than or equal to 32767. java.lang.Short
short list A one-dimensional short array. java.lang.Short[ ]
XOPObject

A field in a SOAP message that is to be sent/received as a streamed MTOM attachment.

Note: Integration Server only supports this Java wrapper type for web services.
com.wm.util.XOPObject
Note: Any Object or Object list placed into the service pipeline must be a serializable data type. If it cannot be serialized, the pipeline cannot be exchanged with a remote Integration Server. Further, the class names for the data type must be included in the Integration Server whitelist classes file or a package whitelist classes file for the pipeline to be deserialized at the destination Integration Server. Classes defined by Integration Server are already included in the whitelist class file. This requirement applies to all Object and Object list variables, including those contained in a Document or Document list. For more information about the whitelist classes file, see the webMethods Integration Server Administrator’s Guide.

How Designer Supports Tables

With the exception of String table, Designer does not provide a separate data type for tables. However, tables can appear as document lists or Objects. Tables that are instances of com.wm.util.Table appear as document lists in Designer. These tables can be used as document lists in flow services. Services in the WmDB package use tables that are instances of wm.com.util.Table.

Tables can also be declared as Objects. Objects or user-defined table-like objects that do not implement the com.wm.util.pluggable.WMIDataList interface appear as Objects of unknown type in Designer.