Siebel Financial Services Enterprise Application Integration Guide > Industry XML Connector Factory APIs >

Siebel Connector for Credit Card Application XML


The following example shows the extension connector that implements the Industry XML classes through the sets of APIs. It shows how each of the steps is carried out to achieve supporting the credit card application services.

Sample Result

- <CRM>

- <SignonRq>

- <UsrLoginSegment>

<LoginUserId>UserId</LoginUserId>

<LoginCurPassword>PASSWD</LoginCurPassword>

<LoginNewPassword />

</UsrLoginSegment>

</SignonRq>

- <CreditCardSvcRq>

- <CardAppAddRq>

- <AccountData>

<UserId>1-DLN</UserId>

<CompanyCd>1-109</CompanyCd>

<DivisionCd>1-109</DivisionCd>

<ServCtrCd>1-109</ServCtrCd>

<BranchCode>1-16UU</BranchCode>

</AccountData>

- <ApplicationInfo>

<ApplicantId>AAA CreditCard Join</ApplicantId>

<PrioritySortCode />

<ApplSourceCode />

<WorklistModeFlag>03 - Qualification</WorklistModeFlag>

<ApplicationClass>Credit Card Application</ApplicationClass>

</ApplicationInfo>

- <CardholderInfo>

<FirstName>Enid</FirstName>

<Mi>J</Mi>

<LastName>Alberts</LastName>

<City>San Jose</City>

<State>CA</State>

<ZipCode>95110</ZipCode>

</CardholderInfo>

</CardAppAddRq>

</CreditCardSvcRq>

</CRM>

To implement the industry XML classes through the sets of APIs

  1. The following four business services have been configured to support all the methods and method arguments in Industry XML Connector.
    • FINS EL XML Transaction Manager
    • FINS EL XML Data Transformation Engine
    • FINS EL XML Converter
    • FINS EL XML Dispatcher

      For example, FINS EL XML Data Transformation Engine business services has Execute, ExecuteOutbound, and ExecuteSave methods.

      NOTE:  The "FINS Connector Factory" project, in the Sample database, includes all the business services configurations. You can access the project through Siebel Tools.

  2. User properties have also been configured for the four business services configured in Step 1.

    NOTE:  The "FINS Connector Factory" project, in the Sample database, includes all the user properties configurations. You can access the project through Siebel Tools.

  3. Only a few necessary Industry XML APIs have been overwritten to modify the presentation logic. The following example shows the customized converter over the functions to generate message header and preprocess the body section. In GenerateHeader function, application calls the CreateSignOn function to generate the login information portion of the XML document. In PreProcessBody function, the service aggregate <CreditCardSvcRq> is added to embed the <CardAppAddRq> message aggregate. Your scenario may be different.

NOTE:  The common usage of MethodName in standard scripting is a publicly available business service method such as PropSetToXMLPropSet. However, in this example, the MethodName does not correspond to the business service method when implementing the factory classes. Instead, it refers to the methods in the Industry XML APIs.

function Service_PreInvokeMethod (MethodName, Inputs, Outputs)

{

var retVal = CancelOperation;

if (MethodName == "GenerateHeader") {

Func_GenerateHeader(Inputs, Outputs);

}

else if (MethodName == "PreProcessBody") {

Func_PreProcessBody(Inputs, Outputs);

}

else {

retVal = ContinueOperation;

}

return (retVal);

}

// Overwrite GenerateHeader method to handle SignonRq message

function Func_GenerateHeader (Inputs, Outputs)

{

var child;

// Enumerate the first layer header definition

for (var i = 0; i < Outputs.GetChildCount(); i++)

{

child = Outputs.GetChild(i);

if ( child.GetType() == "SignonRq")

{

// Create SignOn Segment

Func_CreateSignOn(child);

}

else if (child.GetType() != "xxxSvcRq")

{

// Remove other header definitions

Outputs.RemoveChild(i--);

}

}

}

// Overwrite PreProcessBody method to add service aggregate

function Func_PreProcessBody (Inputs, Outputs)

{

var serviceName;

if (Inputs.PropertyExists("SiebelFINSObjType"))

{

Func_CopyPropSet(Inputs, Outputs);

}

else if (Inputs.PropertyExists("IFX Service Name"))

{

serviceName = Inputs.GetProperty("IFX Service Name");

// add CreditCardSvcRq aggregate

Outputs.SetType(serviceName);

// copy CardAppAddRq aggregate

Outputs.AddChild(Inputs.Copy());

}

else

{

Func_CopyPropSet(Inputs, Outputs);

}

}

// Sign on utility to access user name and password

function Func_CreateSignOn(Inputs)

{

var child;

var grdChild;

// Enumerate the first layer header definition

for (var i=0; i < Inputs.GetChildCount(); i++)

{

child = Inputs.GetChild(i);

if ( child.GetType() == "UsrLoginSegment")

{

for (var j=0; j < child.GetChildCount(); j++)

{

grdChild = child.GetChild(j);

if (grdChild.GetType() == "LoginUserId")

{

grdChild.SetValue("UserId");

}

if (grdChild.GetType() == "LoginCurPassword")

{

grdChild.SetValue("PASSWD");

}

}

}

else

{

// Remove other header definitions

Inputs.RemoveChild(i--);

}

}

}

// Generic copy property set utility

function Func_CopyPropSet( Inputs, Outputs)

{

var propName = "";

var propVal = "";

var child;

Outputs.SetType(Inputs.GetType());

Outputs.SetValue(Inputs.GetValue());

propName = Inputs.GetFirstProperty();

while (propName != "")

{

propVal = Inputs.GetProperty(propName);

Outputs.SetProperty(propName, propVal);

propName = Inputs.GetNextProperty();

}

for (var i = 0; i < Inputs.GetChildCount(); i++)

{

child = Inputs.GetChild(i);

Outputs.AddChild(child.Copy());

}

}

  1. Some integration objects have been configured for this example.

    NOTE:  The "FINS Connector Factory" project, in Oracle's Siebel Tools, includes all the integration objects.

  2. Two data transformation maps have been configured. You can list them in Oracle's Siebel Financial Services application with a query specification of "Credit Card*Add*" in the Comments field of the Integration Object Map screen.
  3. Two workflows have been configured—"Credit Card Application Inbound Workflow" and "Credit Card Application Outbound Workflow."

Siebel Financial Services Enterprise Application Integration Guide Copyright © 2006, Oracle. All rights reserved.