This documentation supports the 9.1 version of Remedy Action Request System.

To view the latest version, select the version from the Product version menu.

Elements and attributes mapped to fields

The rules for mapping XML elements and attributes to fields can be divided into four groups.

  • Incoming XML elements
  • Incoming XML attributes
  • Outgoing XML elements
  • Outgoing XML attributes

BMC Remedy AR System has two sources for incoming XML:

  • The request for published web service published through BMC Remedy AR System
  • A response from an external web service that BMC Remedy AR System is consuming

Similarly, there are two sources for outgoing XML:

  • The response from a web service published through BMC Remedy AR System
  • The request to an external web service that BMC Remedy AR System is consuming

In these tables it is assumed that "name" is an XML element or attribute that is missing, empty, or nulled, and is mapped to a BMC Remedy AR System field called Name. The column headers are the design-time properties. For example, "name" is defined with minOccurs=0 and nillable=false. The row headers are run-time representations. For example, in the incoming XML packet "name" appears as <name></name>. The table specifies how BMC Remedy AR System sets the XML element or attribute to or from the BMC Remedy AR System field.

Tip

To render a null field, create an empty element with xsi:nil=true as an attribute. This is preferable to omitting the element in the request document, or creating an empty element with the nillable attribute set to false.

Incoming XML elements mapped to fields

minOccurs=0 and nillable=false

minOccurs=0 and nillable=true

minOccurs=1 and nillable=false

minOccurs=1 and nillable=true

Missing <name>

Name is not modified, or it is set to AR default. (1)

Name is not modified, or it is set to AR default. (1)

Invalid XML (2)

Invalid XM. (2)

<name></name> OR <name/>

Name=$NULL$ or xsd default (3)

Name=$NULL$ or xsd default (3)

Name=$NULL$ or xsd default (3)

Name=$NULL$ or xsd default (3)

<name xsi:nil="true></name> OR <name xsi:nil="true"/>

Invalid XML. (5)

Name=$NULL$ (4)

Invalid XML (5)

Name=$NULL$ (4)

  1. When an XML element is missing, BMC Remedy AR System treats it the same way as a missing field. Therefore, in a create operation, the field to which the XML element is mapped assumes the BMC Remedy AR System default value (or NULL if there is no default). In a set operation and in consumption, the field remains unchanged.
  2. When an XML element is missing, in spite of minOccurs=1, it is invalid XML. The client should not send such an XML packet, but if it does, BMC Remedy AR System displays an error message.
  3. When the XML element has empty content, BMC Remedy AR System first tries to use the xsd default if it exists. (There are two different defaults — the BMC Remedy AR System default value and the xsd default value. For empty contents, BMC Remedy AR System always uses the default xsd value.) Otherwise, it sets the field to NULL.
  4. When the XML element has xsi:nil=true, BMC Remedy AR System sets the field to NULL and disregards the defaults.
  5. When the XML element has xsi:nil=true but is not defined with nillable=true, it is invalid XML. Clients should not send such an XML packet. Also, BMC Remedy AR System sets this field to NULL, disregarding the defaults.

Incoming XML attributes mapped to fields

use=optional

use=required

Missing <name>

Name is set to xsd default, or it is not modified, or it is set to AR default.1

Invalid XML (2)

name= ""

Name=$NULL$ (3)

Name=$NULL$ (3)

  1. If an attribute is defined with use=optional and the attribute is missing from the XML, BMC Remedy AR System tries to use the xsd default. If the xsd default does not exist, BMC Remedy AR System treats the attribute like a missing field. Therefore, in a create operation, the field to which this attribute is mapped assumes the BMC Remedy AR System default value (or NULL if there is no default). In a set operation and in consumption, the field remains unchanged.
  2. If an attribute is defined with use=required, it should not be missing. Otherwise, the XML is invalid and clients should not send such an XML packet. BMC Remedy AR System displays an error message.
  3. If an attribute has an empty value, BMC Remedy AR System sets the mapped field to NULL and disregards the defaults.

Outgoing XML elements mapped to fields

minOccurs=0and nillable=false

minOccurs=0and nillable=true

minOccurs=1and nillable=false

minOccurs=1and nillable=true

Name is $NULL$

Missing name (2)

<name xsi:nil= "true"/> (1)

<name/> (3)

<name xsi:nil= "true"/> (1)

Name is ""

<name/>

<name/> (4)

<name/> (4)

<name/> (4)

<name> is not mapped

Missing name

Missing name

Invalid XML

Invalid XML

  1. If a field is null, BMC Remedy AR System generates the XML as xsi:nil=true. However, it can do so only if nillable=true.
  2. If nillable is false, BMC Remedy AR System does not generate the element at all for null fields. However, it can do so only if minOccurs=0.
  3. If nillable is false and minOccurs=1, BMC Remedy AR System generates an element with empty content.
  4. If a character field contains an empty string, BMC Remedy AR System generates an element with empty content. BMC Remedy AR System fields with empty strings are extremely unusual; they can be specified only with the driver program or an API call.

Outgoing XML attributes mapped to fields

use=optional

use=required

Name is $NULL$

name="" (1)

name="" (1)

Name is ""

name="" (2)

name="" (2)

<name> is not mapped

Missing name

Invalid XML

  1. If a field is null, BMC Remedy AR System generates an attribute with empty content.
  2. If a character field contains an empty string, BMC Remedy AR System generates an attribute with empty content. BMC Remedy AR System fields with empty strings are extremely unusual; they can be specified only with the driver program or an API call.
Was this page helpful? Yes No Submitting... Thank you

Comments