Siebel Financial Services Connector for IFX XML Guide > Siebel Connector for IFX XML > IFX XML Syntax and Rules >

IFX XML Documents


Each IFX XML document has three distinct parts:

  • Envelope
  • Header
  • Body

The parts are presented as a hierarchy: the envelope is the root, which contains the header and the body. Elements of an IFX XML document that contain other elements are called aggregates.

The envelope and header provide information required by the XML converter and by other components in the connector. The services identify the kind of business service affected by the information, and the messages provide the data that is being exchanged. There are elements that precede the message proper, which specify the versions of XML and IFX.

The following example shows a sample IFX XML document:

<?xml version="1.0" encoding="UTF-8" ?>
<?ifx version="1.0.1" oldfileuid="00000000-0000-0000-0000-000000000000" newfileuid="11111111-1111-1111-1111-111111111111" ?>
<IFX>
   <SignonRq>
      <SessKey>ABCDEFGHIJKLMNOPQRSTUVWXYZYXWVUTSRQPONML</SessKey>
      <ClientDt>2001-10-10T17:04:33.0-07:00</ClientDt>
      <CustLangPref>ENU</CustLangPref>
      <ClientApp>
         <Org>Customer Organization</Org>
         <Name>Siebel FINS</Name>
         <Version>7.0</Version>
      </ClientApp>
   </SignonRq>
   <PaySvcRq>
      <SPName>IFX Service Provider</SPName>
      <RqUID>7796AAAA-685E-47b0-9C2F-27FB475B05FA</RqUID>
      <PmtAddRq>
         <RqUID>83DA5F9C-7781-4ebb-BB62-311B8B9C6AD7</RqUID>
         <PmtInfo>
            <RemitInfo>
               <CustPayeeId>SibelCustomerBank</CustPayeeId>
               <CurAmt>
                  <Amt>500</Amt>
                  <CurCode>US</CurCode>
               </CurAmt>
            </RemitInfo>
            <DepAcctIdFrom>
               <AcctId>2547-86392</AcctId>
               <AcctType>CDA</AcctType>
               <BankInfo>
                  <Name>SiebelCustomerBank</Name>
               </BankInfo>
            </DepAcctIdFrom>
            <DueDt>2001-12-24</DueDt>
         </PmtInfo>
         <DupChkOverride>1</DupChkOverride>
      </PmtAddRq>
   </PaySvcRq>
</IFX>

Envelope

The envelope is the root element of an XML document. For an IFX XML document, it begins with <IFX> and ends with </IFX>.

The indicator <IFX> is the only item in the envelope.

Header

Every message header has a sign-on element that authenticates the message, and it may have a sign-off element that ends a particular session.

The header has four elements:

  • SignonRq
  • SignonRs
  • SignoffRq
  • SignoffRs

The header for a request has the header element <SignonRq>. The header for the response has the header element <SignonRs>. Similarly, the sign-off elements are specifically for requests and responses.

NOTE:  IFX XML messages must be either requests or responses. Requests and responses cannot be mixed in a single message. A request uses <SignonRq>. A response uses <SignonRs>.

Signon Information

The <SignonRq> or <SignonRs> header element provides a location for status information, authentication information, date and time stamps, language preferences, and identification of the application that will use the data. You can find complete information in the IFX specification.

Authentication Information

The initial <SignonRq> for any session must provide authentication information, typically the user name and password, or a certificate ID. When the server authenticates the user, using the information in the header, the server issues a session key in the <SignonRs>. Subsequent messages use the session key as a token. After a session has finished, any subsequent session must start with the authentication information again.

Following is an example of an initial SignonRs authentication element.

<SignonRq>
   <SignonPswd>
      <CustId>
         <SPName>com.siebel</SPName>
         <CustLoginId>RLIU</CustLoginId>
      </CustId>
      <CustPswd>
         <CryptType>NONE</CryptType>
         <Pswd>DROWSSAP</Pswd>
      </CustPswd>
      <GenSessKey>1</GenSessKey>
   </SignonPswd>
   <ClientDt>2001-11-16T16:56:39.0-08:00</ClientDt>
   <CustLangPref>ENU</CustLangPref>
   <ClientApp>
      <Org>Siebel FINS</Org>
      <Name>Siebel FINS Application</Name>
      <Version>7.0</Version>
   </ClientApp>
</SignonRq>

Additional elements may be included in a Signon element. You can find complete information in the IFX specification.

Status information, which includes error codes, may also appear in the Signon element. Status information is discussed in IFX XML Status Information and Error Codes.

Signoff Information

The Signoff header element is used to end a session. A typical time to end a session is at the close of business for the day.

The Signoff element, <SignoffRq> or <SignoffRs>, appears at the end of the message, just before the end of the envelope </IFX>. The Signoff element may optionally contain a <custID> element.

Body

The body of an IFX XML document provides the content of the information request or response. The body serves as an aggregate containing services and messages. Services and messages, in turn, are aggregates that contain smaller elements.

  • Service. A service identifies the kind of service being requested or delivered, identifying the business function that will be affected. For example, <PaySvcRq> is a request for a payment service, and <BankSvcRq> is a request for a bank service.
  • Message. A message identifies the business object affected by the message and the operation that is to be performed on the data. For example, <PmtAddRq> is a request to add a payment.
  • Data Element. A data element identifies the business component or fields affected by an operation defined in the message. For example, <FirstName> is a data element that contains information about a person's first name.
Services

The basic body element is a service, for example <PaySvcRq>, <BaseSvcRq>, or <BankSvcRq>. <BaseSvcRq> is a request for the base service, which all service providers can provide.

An IFX body can include multiple services. A body almost always contains at least one service. A body with no service would provide only authentication.

The same service may be included in a body more than once, but each service must be for a different service provider.

Following is an example of a message with a single payment service request.

<PaySvcRq>
   <SPName>Partner IFX Middleware</SPName>
   <RqUID>50DBF4F7-7888-480b-927E-333652FEBF87</RqUID>
   <PmtAddRq>
      <RqUID>BD620AC4-53E7-4UIL-588C-YOR8D6224FE9</RqUID>
      <PmtInfo>
         <RemitInfo>
            <CustPayeeId>0VF-VEBQ</CustPayeeId>
            <CurAmt>
               <Amt>2500</Amt>
               <CurCode>USD</CurCode>
            </CurAmt>
         </RemitInfo>
         <CardAcctIdFrom>
            <AcctId>2574-86392</AcctId>
            <AcctType>Savings/MMA</AcctType>
         </CardAcctIdFrom>
         <DueDt>2001-11-13</DueDt>
      </PmtInfo>
      <DupChkOverride>1</DupChkOverride>
   </PmtAddRq>
</PaySvcRq>

The service aggregate includes a universally unique identifier (UUID) to match responses to requests. The UUID is generated using an algorithm that makes it unique. It appears in the <RqUID> element. It is generated by the client (which sends out the request). It is stored at the client site, which then matches it to the UUID in the response message. The UUID generator can be a Siebel business service or an extension provided by a third party. In any case, the UUID generator is identified by a parameter to the IFX Converter.

Messages

Messages (sometimes called business messages) are contained in Service aggregates. Each service can contain one or more business messages. Each service can contain any number of messages.

The message tag identifies the business object that is affected by the message and a command operator. A business object can be a payment or a cash drawer—anything on which an operation can be performed.

A message uses one of the following operations:

  • Add
  • Delete
  • Cancel
  • Inquiry
  • Modify
  • Audit
  • Synchronize

The business message name tag contains the object and the operation. For example, a business message called <PmtAddRq> identifies "payment" as the business object, and "add" as the operation. The details of the added payment are provided within the message.

A complete list of business messages for IFX XML is provided in the IFX XML implementation specification.

Data Elements

Within the business message are additional elements that identify the record that will be affected by the request or response and provide any other specifications, such as <CustName>, <PostAddr>, <FirstName>, and <LastName>.

The additional elements include field labels, field information, and tags that provide program access to the data.

Following is an example of data elements for the add payment request.

<PmtAddRq>
   <RqUID>BD620AC4-53E7-4UIL-588C-YOR8D6224FE9</RqUID>
   <PmtInfo>
      <RemitInfo>
         <CustPayeeId>0VF-VEBQ</CustPayeeId>
         <CurAmt>
            <Amt>2500</Amt>
            <CurCode>USD</CurCode>
         </CurAmt>
      </RemitInfo>
      <CardAcctIdFrom>
         <AcctId>2574-86392</AcctId>
         <AcctType>Savings/MMA</AcctType>
      </CardAcctIdFrom>
      <DueDt>2001-11-13</DueDt>
   </PmtInfo>
   <DupChkOverride>1</DupChkOverride>
</PmtAddRq>

The information in this request is sent to the external application, which performs the request and returns a response.

Siebel Financial Services Connector for IFX XML Guide Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Legal Notices.