Ejemplo de API de ExternalCallout
1.
Cree un archivo denominado GetCreditScore.java con el siguiente contenido. En este archivo se supone que hay una clase denominada ScoreQueryUtility que capta una puntuación de una aplicación de modelado.
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
{
// la clase que tiene la lógica para consultar un sistema externo para obtener una puntuación
de crédito de un clientes
private static ScoreQueryUtility scoreQueryUtility;
public void initialize(Map<String, String> configurationData) throws CalloutException
{
// configurationData tiene los pares de clave-valor específicos del entorno donde se
ejecuta el servidor
// inicializar scoreQueryUtility aquí
}

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

public int getNumberOfArguments()
{
// no espere ningún argumento adicional aparte del ID de cliente
return 0;
}

public List<String> getValue(AudienceId audienceId, Map<String, String> configurationData,
Object... arguments) throws CalloutException
{
Long customerId = (Long) audienceId.getComponentValue("Customer");
// ahora consulte scoreQueryUtility para obtener la puntuación de crédito de customerId
Double score = scoreQueryUtility.query(customerId);
String str = Double.toString(score);
List<String> list = new LinkedList<String>();
list.add(str);
return list;
}
}
2.
Compile GetCreditScore.java en GetCreditScore.class.
3.
Cree un archivo jar llamado creditscore.jar que contenga GetCreditScore.class y los otros archivos de clase que utiliza.
4.
5.
Cree una llamada externa con el nombre GetCreditScore y una ruta de clases /data/interact/creditscore.jar en la categoría externalCallouts en la página Gestionar configuraciones.
6.