Skip to content

Service Layer XML Serialization Format

This document presents XML serialization format for Extended Server records. A record in Java Server Framework is represented by abstract class ifs.fnd.record.FndAbstractRecord and its subclasses. XML serialization methods for records are gathered in class ifs.fnd.record.serialization.FndXmlUtil.

There are two types of XML format for records: external format and internal format. The external format is used for communication with external systems, for example through IFS SOAP Gateway. The internal format is used internally by Extended Server, for example for export/import of data.

External XML Format

A record converted into an external XML document is presented in the example below. The name of the main tag of this document (PERSON_INFO) represents the type of the serialized record. Nested tags represent simple (like NAME) or compound (like ISO_LANGUAGE) attributes contained in the record.

See XML version of this example.

The name of a tag representing an attribute (or record) matches the upper-case version of the attribute/record name. The following table presents XML attributes for the main (top level) tag of an external (or internal) XML document.

XML Attribute NameExample ValueDescription
xmlns:xsihttp://www.w3.org/2001/XMLSchema-instanceStandard XML Schema instance namespace
xmlnsurn:ifsworld-com:schemas:personinfo_person_infoNamespace specific to the type of record or BizApi operation

A value of a simple attribute is converted to its string representation depending on the attribute type, as defined in the following table.

Attribute TypeJava ClassExample Value
AlphaFndAlphaABC
TextFndTextÅÖÄ
BinaryFndBinary(Base 64 encoded value)
BooleanFndBoolean1
TimestampFndTimestamp2003-08-08T09:35:25
DateFndDate2003-08-08
TimeFndTime09:35:25
NumberFndNumber156.234
IntegerFndInteger10001
EnumFndEnumerationActive

A null value is converted to the standard XML attribute xsi:nil, see the attribute INITIALS in the example above.

Compound record attributes (arrays and aggregates) are converted to nested XML tags in the same way as simple attributes. The only difference is that a compound attribute, instead of a simple value, contains one or more records. For example the aggregate ISO_LANGUAGE in the example above contains a record with the same name.

Query conditions are not supported and are ignored by the serialization process. Record attributes marked as non-existent are also ignored by the serialization process.

Internal XML Format

The internal XML format for records contains additional information absent in the external format:

  • record state (queried, new, modified or removed)
  • record attributes used by storage layer like OBJ_ID or OBJ_VERSION
  • attribute type and state

A record converted into an internal XML document is presented in the following example.

See XML version of this example.

An XML tag representing a record in an internal XML document may contain the following XML attributes.

XML Attribute NameExample ValueDescription
xmlns:ifsrecordurn:ifsworld-com:ifsrecordIFS record namespace (only top level record)
ifsrecord:statemodifiedOne of: queried, new, modified, removed
ifsrecord:CREATED_BYJOSMUSOnly for entity views
ifsrecord:CREATED_DATE2003-08-08-09.35.25Only for entity views
ifsrecord:OBJ_VERSION20030811140611Only for entity views and LU entity view
ifsrecord:OBJ_IDAAAMzlAAGAAABBSAAAOnly for LU entity views

An XML tag describing a record attribute may contain the following XML attributes.

XML Attribute NameExample ValueDescription
ifsrecord:datatypeTextattribute type (see attribute type table)
ifsrecord:dirty1marks a dirty attribute
ifsrecord:exclude1marks an attribute excluded from query