背景
我的应用程序连接到 Genesys Interaction Server,以便接收在交互工作区上执行的操作的事件。我正在使用适用于 Java 的 Platform SDK 8.5。
我使用 API 引用中描述的方法连接到交互服务器。
InteractionServerProtocol interactionServerProtocol =
new InteractionServerProtocol(
new Endpoint(
endpointName,
interactionServerHost,
interactionServerPort));
interactionServerProtocol.setClientType(InteractionClient.AgentApplication);
interactionServerProtocol.open();
接下来,我需要为每个我希望接收事件的地点注册一个监听器。
RequestStartPlaceAgentStateReporting requestStartPlaceAgentStateReporting = RequestStartPlaceAgentStateReporting.create();
requestStartPlaceAgentStateReporting.setPlaceId("PlaceOfGold");
requestStartPlaceAgentStateReporting.setTenantId(101);
isProtocol.send(requestStartPlaceAgentStateReporting);
现在的情况是,我的应用程序要求用户手动指定他希望观察的每个地点。这要求他知道所有地点的名称,而他不一定能够[轻松]访问这些地点。
问题
如何以编程方式获取可用地点列表?最好从交互服务器来限制所需的连接数量。
最佳答案
有一个方法你可以使用。如果您检查 applicationblocks 的方法,您将看到 cfg 和查询对象。您可以使用它来获取所有 DN 的列表。构建查询时,尝试空白 DBID、名称和编号。
有一个.net代码类似于java代码(实际上完全相同)
List<CfgDN> list = new List<CfgDN>();
List<DN> dnlist = new List<Dn>();
CfgDNQuery query = new CfgDNQuery(m_ConfService);
list = m_ConfService.RetrieveMultipleObjects<CfgDN>(query).ToList();
foreach (CfgDN item in list)
{
foo = (DN) item.DBID;
......
dnlist.Add(foo);
}
注意:DN 是我的类,其中包含平台 SDK 的一些属性。
关于java - 使用 Platform SDK 的地点列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30346317/