Вы можете использовать Интерфейс онлайн-взаимодействия SAP (OII)< /эм>.
Это API, который позволяет клиентским приложениям (например, CDT) взаимодействовать с BCM (выполнять звонки и т. д.).
Заставьте своего клиента подключиться к OII и отправить запрос на подписку IciContainerInterface, указав свой номер строки.
Затем OII будет отправлять события, содержащие информацию (например, номер звонка) для каждого телефонного звонка, относящегося к вашему номеру линии, в ваше приложение.
инструкции
Загрузите WSDL со своего OII:
http://IP-адрес/OII/IciItemService.asmx?WSDL
Используйте WSDL для создания классов OII
Получить экземпляр соединения OII:
private Optional<IciContainerServiceSoap> getContainerPort() {
return containerSubscriber.map(s -> {
IciContainerServiceSoap port = s.getIciContainerServiceSoap12();
BindingProvider binding = (BindingProvider) port;
binding.getRequestContext().put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY,
createServerUrl(s.getServiceName().getLocalPart(), serverAddress, serverPort));
return port;
});
}
public static String createServerUrl(@NotNull String localPart, @NotNull String serverAddress, int port) {
StringBuilder sb = new StringBuilder();
sb.append("http://");
sb.append(serverAddress);
if (port == 0) port = 80;
if (port != 80) {
sb.append(":");
sb.append(String.valueOf(port));
}
sb.append("/oii/");
sb.append(localPart);
sb.append(".asmx");
return sb.toString();
}
/*
* Address and port on which your client app's webservice will be
* listening for events sent by OII.
*/
public static String createAppURL() throws UnknownHostException {
//
Example: http://xxx.xxx.xxx.xxx:7007/sapws/services/cct?wsdl
return "http://" + getHostName() + ":" + getListenPort() + "/sapws/services?wsdl";
}
Отправить запрос на подписку:
getContainerPort().map(p -> p.subscribe(appURL, getAppId(), "1", container)).orElseThrow(IllegalStateException::new);
Теперь ваше приложение будет получать события PhoneCallChanged в виде пакетов SOAP на порт, указанный в идентификаторе приложения (7007).
Обратите внимание, что я использую Java. Я уточню, если нужно. Удачи!
person
user2818782
schedule
01.02.2018