Document Body

The Body element (<SOAP-ENV:Body>) contains the Service information itself. The content of the Body element is an XML document based on the service request schema.

Service Name

The first element following the Body element must be the XAI service name. (i.e. CISPersonInfo). We refer to this element as the XAI Service Element. The XAI server uses the tag name to locate the service in the XAI Inbound Service.

Transaction Type

The service element may contain the optional attribute transactionType. For services that represent page maintenance services in the system, the transaction type (Read, Add, Update, Change, Delete) is defined in the XAI Inbound Service. An optional attribute may be specified in the first element to override the transaction type of the service. This allows using the same service definition to perform various transaction types.

Example 1. This service is used to perform an add of a record.

<SOAP-ENV:Envelope>

<SOAP-ENV:Body>

<Account transactionType='Add'>

......

</Account>

</SOAP-ENV:Body>

</SOAP-ENV:Envelope>

Example 2. This service is used to perform an update to a record.

<SOAP-ENV:Envelope>

<SOAP-ENV:Body>

<Account transactionType='Update'>

......

</Account>

</SOAP-ENV:Body>

</SOAP-ENV:Envelope>

Search Type

Search services may provide one or more type of searches, each using a different set of search fields. The default search type (MAIN, ALT, ALT1-ALT9) is defined in the XAI Inbound Service. However you may want to use various search types for the same service. To do so, you specify the searchType attribute on the service name element of the request.

For example the CDxAccountSearch service, provides the ability to search for accounts by AccountID (the MAIN search type) or to search accounts using an EntityName (the ALT searchType). The service is defined in the XAI Inbound Service as using the default searchType=MAIN.

Example. The following request searches by account ID

<SOAP-ENV:Envelope xmlns:SOAP-ENV="urn:schemas-xmlsoap-org:envelope">

<SOAP-ENV:Body>

<AccountSearch searchType="MAIN">

<Account>

<AccountHeader AccountID="0726118368"/>

</AccountHeader>

</Account>

</AccountSearch>

</SOAP-ENV:Body>

</SOAP-ENV:Envelope>

This one searches by EntityName.

<SOAP-ENV:Envelope xmlns:SOAP-ENV="urn:schemas-xmlsoap-org:envelope">

<SOAP-ENV:Body>

<AccountSearch searchType="ALT">

<Account>

<AccountHeader EntityName="Brazil"/>

</AccountHeader>

</Account>

</AccountSearch>

</SOAP-ENV:Body>

</SOAP-ENV:Envelope>

Trace

Traces are available at multiple levels in XAI.

System Level - All requests/responses are traced.

Service Level - All request/responses of a particular service type are traced.

Request Level - Trace only this request.

The trace attribute in the service element may be used to activate tracing for a particular request. This is useful if the XAI server trace option was not set and you want to trace a particular request without tracing all other requests. The trace attribute may take yes/no values.

Example:

<SOAP-ENV:Envelope>

<SOAP-ENV:Body>

<Account transactionType='UPDATE' trace='yes'>

......

</Account>

</SOAP-ENV:Body>

</SOAP-ENV:Envelope>

Delete Unspecified Rows

The attribute deleteUnspecifiedRows, may be used on the list elements in request documents, to delete all rows in the list that were not referenced explicitly in the request. This attribute is applicable to services executed with transactionType='UPDT'. This is useful when one wants to replace all rows in a list with a new set of rows without having to explicitly reference all existing rows in the list. This attribute may take the following values:

Following the Body element is the Main service element. This might be a page, list or search element.

For page services, following the main service element, there is one header element and one detail element. The header element only contains attributes. The details element may contain attributes and nested lists.

<SOAP-ENV:Body>

<Account>

<AccountHeader>

<AccountDetails>

<AccountPersons>

<AccountDebtClasses>

<AccountDetails>

</Account>

</SOAP-ENV:Body>

For list or search services, following the main service element, there is one header element and one row element. The header element only contains attributes. The row element may contain attributes and nested lists.

<SOAP-ENV:Body>

<AccountFinancialHistory>

<AccountFinancialHistoryHeader>

<AccountFinancialHistoryRow>

</AccountFinancialHistory>

</SOAP-ENV:Body>