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 Name Example Value Description
xmlns:xsi http://www.w3.org/2001/XMLSchema-instance Standard XML Schema instance namespace
xmlns urn:ifsworld-com:schemas:personinfo_person_info Namespace 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 Type Java Class Example Value
Alpha FndAlpha ABC
Text FndText ÅÖÄ
Binary FndBinary (Base 64 encoded value)
Boolean FndBoolean 1
Timestamp FndTimestamp 2003-08-08T09:35:25
Date FndDate 2003-08-08
Time FndTime 09:35:25
Number FndNumber 156.234
Integer FndInteger 10001
Enum FndEnumeration Active

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 Name Example Value Description
xmlns:ifsrecord urn:ifsworld-com:ifsrecord IFS record namespace (only top level record)
ifsrecord:state modified One of: queried, new, modified, removed
ifsrecord:CREATED_BY JOSMUS Only for entity views
ifsrecord:CREATED_DATE 2003-08-08-09.35.25 Only for entity views
ifsrecord:OBJ_VERSION 20030811140611 Only for entity views and LU entity view
ifsrecord:OBJ_ID AAAMzlAAGAAABBSAAA Only for LU entity views

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

XML Attribute Name Example Value Description
ifsrecord:datatype Text attribute type (see attribute type table)
ifsrecord:dirty 1 marks a dirty attribute
ifsrecord:exclude 1 marks an attribute excluded from query