Beispiel für die ExternalCallout-API
1.
Erstellen Sie eine Datei namens GetCreditScore.java mit den folgenden Inhalten. Diese Datei setzt voraus, dass es eine Klasse namens ScoreQueryUtility gibt, die einen Score aus einer Modellanwendung abruft.
import java.util.Map;
import com.unicacorp.interact.session.AudienceId;
import com.unicacorp.interact.flowchart.macrolang.storedobjs.IAffiniumExternalCallout;
import com.unicacorp.interact.flowchart.macrolang.storedobjs.CalloutException;
import java.util.Random;

public class GetCreditScore implements IAffiniumExternalCallout
{
// the class that has the logic to query an external system for a customer’s credit score
private static ScoreQueryUtility scoreQueryUtility;
public void initialize(Map<String, String> configurationData) throws CalloutException
{
// configurationData has the key- value pairs specific to the environment the server is running in
// initialize scoreQueryUtility here
}

public void shutdown(Map<String, String> configurationData) throws CalloutException
{
// shutdown scoreQueryUtility here
}

public int getNumberOfArguments()
{
// do not expect any additional arguments other than the customer’s id
return 0;
}

public List<String> getValue(AudienceId audienceId, Map<String, String> configurationData,
Object... arguments) throws CalloutException
{
Long customerId = (Long) audienceId.getComponentValue("Customer");
// now query scoreQueryUtility for the credit score of customerId
Double score = scoreQueryUtility.query(customerId);
String str = Double.toString(score);
List<String> list = new LinkedList<String>();
list.add(str);
return list;
}
}
2.
Kompilieren Sie GetCreditScore.java zu GetCreditScore.class.
3.
Erstellen Sie eine JAR-Datei namens creditscore.jar, die GetCreditScore.class und die anderen verwendeten Klassendateien enthält.
4.
5.
Erstellen Sie ein externes Callout mit Namen GetCreditScore und Klassenpfad als /data/interact/creditscore.jar in der Kategorie externalCallouts auf der Seite "Konfigurationen verwalten".
6.
In einem interaktiven Ablaufdiagramm kann das Callout als EXTERNALCALLOUT(‘GetCreditScore’) verwendet werden.