WebServicesDeveloperGuide: различия между версиями

Материал из RunaWFE
Перейти к навигации Перейти к поиску
м (1 версия импортирована)
(jboss4 removed)
Строка 17: Строка 17:
== {{Title|URLs|Доступ к веб-сервисам}} ==
== {{Title|URLs|Доступ к веб-сервисам}} ==


=== {{Title|Jboss4URL|Jboss4}} ===
=== {{Title|Jboss7URL|WildFly10 и Jboss7}} ===
<nowiki>http://host:port/runawfe-wfe-service-4.X.X/НазваниеВебСервиса?wsdl</nowiki>
 
=== {{Title|Jboss7URL|WildFly и Jboss7}} ===


<nowiki>http://localhost:8080/wfe-service-4.X.X/НазваниеВебСервиса/НазваниеИнтерфейса?wsdl</nowiki>
<nowiki>http://localhost:8080/wfe-service-4.X.X/НазваниеВебСервиса/НазваниеИнтерфейса?wsdl</nowiki>
Строка 33: Строка 30:
| AuthenticationServiceBean
| AuthenticationServiceBean
Сервис аутентификации пользователей
Сервис аутентификации пользователей
| <html><a href="http://localhost:8080/runawfe-wfe-service-4.X.X/AuthenticationServiceBean?wsdl" target="_blank">WSDL для Jboss4</a></html>
| <html><a href="http://localhost:8080/wfe-service-4.X.X/AuthenticationWebService/AuthenticationAPI?wsdl" target="_blank">WildFly и Jboss7</a></html>
<html><a href="http://localhost:8080/wfe-service-4.X.X/AuthenticationWebService/AuthenticationAPI?wsdl" target="_blank">WSDL для WildFly и Jboss7</a></html>
| [https://github.com/processtech/runawfe-free-server/blob/v4.4.1/wfe-service/src/main/java/ru/runa/wfe/service/AuthenticationService.java Открыть файл]
| [https://github.com/processtech/runawfe-free-server/blob/v4.4.1/wfe-service/src/main/java/ru/runa/wfe/service/AuthenticationService.java Открыть файл]


Строка 41: Строка 37:
| AuthorizationServiceBean
| AuthorizationServiceBean
Сервис авторизации операций (проверка полномочий)
Сервис авторизации операций (проверка полномочий)
| <html><a href="http://localhost:8080/runawfe-wfe-service-4.X.X/AuthorizationServiceBean?wsdl" target="_blank">WSDL для Jboss4</a></html>
| <html><a href="http://localhost:8080/wfe-service-4.X.X/AuthorizationWebService/AuthorizationAPI?wsdl" target="_blank">WildFly и Jboss7</a></html>
<html><a href="http://localhost:8080/wfe-service-4.X.X/AuthorizationWebService/AuthorizationAPI?wsdl" target="_blank">WSDL для WildFly и Jboss7</a></html>
| [https://github.com/processtech/runawfe-free-server/blob/v4.4.1/wfe-service/src/main/java/ru/runa/wfe/service/AuthorizationService.java Открыть файл]
| [https://github.com/processtech/runawfe-free-server/blob/v4.4.1/wfe-service/src/main/java/ru/runa/wfe/service/AuthorizationService.java Открыть файл]


Строка 49: Строка 44:
| BotServiceBean
| BotServiceBean
Сервис по управлению бот станциями, ботами и заданиями ботов
Сервис по управлению бот станциями, ботами и заданиями ботов
| <html><a href="http://localhost:8080/runawfe-wfe-service-4.X.X/BotServiceBean?wsdl" target="_blank">WSDL для Jboss4</a></html>
| <html><a href="http://localhost:8080/wfe-service-4.X.X/BotWebService/BotAPI?wsdl" target="_blank">WildFly и Jboss7</a></html>
<html><a href="http://localhost:8080/wfe-service-4.X.X/BotWebService/BotAPI?wsdl" target="_blank">WSDL для WildFly и Jboss7</a></html>
| [https://github.com/processtech/runawfe-free-server/blob/v4.4.1/wfe-service/src/main/java/ru/runa/wfe/service/BotService.java Открыть файл]
| [https://github.com/processtech/runawfe-free-server/blob/v4.4.1/wfe-service/src/main/java/ru/runa/wfe/service/BotService.java Открыть файл]


Строка 57: Строка 51:
| DefinitionServiceBean
| DefinitionServiceBean
Сервис управления определениями процессов
Сервис управления определениями процессов
| <html><a href="http://localhost:8080/runawfe-wfe-service-4.X.X/DefinitionServiceBean?wsdl" target="_blank">WSDL для Jboss4</a></html>
| <html><a href="http://localhost:8080/wfe-service-4.X.X/DefinitionWebService/DefinitionAPI?wsdl" target="_blank">WildFly и Jboss7</a></html>
<html><a href="http://localhost:8080/wfe-service-4.X.X/DefinitionWebService/DefinitionAPI?wsdl" target="_blank">WSDL для WildFly и Jboss7</a></html>
| [https://github.com/processtech/runawfe-free-server/blob/v4.4.1/wfe-service/src/main/java/ru/runa/wfe/service/DefinitionService.java Открыть файл]
| [https://github.com/processtech/runawfe-free-server/blob/v4.4.1/wfe-service/src/main/java/ru/runa/wfe/service/DefinitionService.java Открыть файл]


Строка 65: Строка 58:
| ExecutionServiceBean
| ExecutionServiceBean
Сервис управления процессами и контроля их исполнения
Сервис управления процессами и контроля их исполнения
| <html><a href="http://localhost:8080/runawfe-wfe-service-4.X.X/ExecutionServiceBean?wsdl" target="_blank">WSDL для Jboss4</a></html>
| <html><a href="http://localhost:8080/wfe-service-4.X.X/ExecutionWebService/ExecutionAPI?wsdl" target="_blank">WildFly и Jboss7</a></html>
<html><a href="http://localhost:8080/wfe-service-4.X.X/ExecutionWebService/ExecutionAPI?wsdl" target="_blank">WSDL для WildFly и Jboss7</a></html>
| [https://github.com/processtech/runawfe-free-server/blob/v4.4.1/wfe-service/src/main/java/ru/runa/wfe/service/ExecutionService.java Открыть файл]
| [https://github.com/processtech/runawfe-free-server/blob/v4.4.1/wfe-service/src/main/java/ru/runa/wfe/service/ExecutionService.java Открыть файл]


Строка 73: Строка 65:
| TaskServiceBean
| TaskServiceBean
Сервис по работе с заданиями
Сервис по работе с заданиями
| <html><a href="http://localhost:8080/runawfe-wfe-service-4.X.X/TaskServiceBean?wsdl" target="_blank">WSDL для Jboss4</a></html>
| <html><a href="http://localhost:8080/wfe-service-4.X.X/TaskWebService/TaskAPI?wsdl" target="_blank">WildFly и Jboss7</a></html>
<html><a href="http://localhost:8080/wfe-service-4.X.X/TaskWebService/TaskAPI?wsdl" target="_blank">WSDL для WildFly и Jboss7</a></html>
| [https://github.com/processtech/runawfe-free-server/blob/v4.4.1/wfe-service/src/main/java/ru/runa/wfe/service/TaskService.java Открыть файл]
| [https://github.com/processtech/runawfe-free-server/blob/v4.4.1/wfe-service/src/main/java/ru/runa/wfe/service/TaskService.java Открыть файл]


Строка 81: Строка 72:
| ExecutorServiceBean
| ExecutorServiceBean
Сервис по работе с исполнителями (пользователями и группами)
Сервис по работе с исполнителями (пользователями и группами)
| <html><a href="http://localhost:8080/runawfe-wfe-service-4.X.X/ExecutorServiceBean?wsdl" target="_blank">WSDL для Jboss4</a></html>
| <html><a href="http://localhost:8080/wfe-service-4.X.X/ExecutorWebService/ExecutorAPI?wsdl" target="_blank">WildFly и Jboss7</a></html>
<html><a href="http://localhost:8080/wfe-service-4.X.X/ExecutorWebService/ExecutorAPI?wsdl" target="_blank">WSDL для WildFly и Jboss7</a></html>
| [https://github.com/processtech/runawfe-free-server/blob/v4.4.1/wfe-service/src/main/java/ru/runa/wfe/service/ExecutorService.java Открыть файл]
| [https://github.com/processtech/runawfe-free-server/blob/v4.4.1/wfe-service/src/main/java/ru/runa/wfe/service/ExecutorService.java Открыть файл]


Строка 89: Строка 79:
| ProfileServiceBean
| ProfileServiceBean
Сервис по работе с профилями пользователей
Сервис по работе с профилями пользователей
| <html><a href="http://localhost:8080/runawfe-wfe-service-4.X.X/ProfileServiceBean?wsdl" target="_blank">WSDL для Jboss4</a></html>
| <html><a href="http://localhost:8080/wfe-service-4.X.X/ProfileWebService/ProfileAPI?wsdl" target="_blank">WildFly и Jboss7</a></html>
<html><a href="http://localhost:8080/wfe-service-4.X.X/ProfileWebService/ProfileAPI?wsdl" target="_blank">WSDL для WildFly и Jboss7</a></html>
| [https://github.com/processtech/runawfe-free-server/blob/v4.4.1/wfe-service/src/main/java/ru/runa/wfe/service/ProfileService.java Открыть файл]
| [https://github.com/processtech/runawfe-free-server/blob/v4.4.1/wfe-service/src/main/java/ru/runa/wfe/service/ProfileService.java Открыть файл]


Строка 97: Строка 86:
| RelationServiceBean
| RelationServiceBean
Сервис по работе с отношениями
Сервис по работе с отношениями
| <html><a href="http://localhost:8080/runawfe-wfe-service-4.X.X/RelationServiceBean?wsdl" target="_blank">WSDL для Jboss4</a></html>
| <html><a href="http://localhost:8080/wfe-service-4.X.X/RelationWebService/RelationAPI?wsdl" target="_blank">WildFly и Jboss7</a></html>
<html><a href="http://localhost:8080/wfe-service-4.X.X/RelationWebService/RelationAPI?wsdl" target="_blank">WSDL для WildFly и Jboss7</a></html>
| [https://github.com/processtech/runawfe-free-server/blob/v4.4.1/wfe-service/src/main/java/ru/runa/wfe/service/RelationService.java Открыть файл]
| [https://github.com/processtech/runawfe-free-server/blob/v4.4.1/wfe-service/src/main/java/ru/runa/wfe/service/RelationService.java Открыть файл]


Строка 105: Строка 93:
| SystemServiceBean
| SystemServiceBean
Сервис содержит общие операции по работе с системой
Сервис содержит общие операции по работе с системой
| <html><a href="http://localhost:8080/runawfe-wfe-service-4.X.X/SystemServiceBean?wsdl" target="_blank">WSDL для Jboss4</a></html>
| <html><a href="http://localhost:8080/wfe-service-4.X.X/SystemWebService/SystemAPI?wsdl" target="_blank">WildFly и Jboss7</a></html>
<html><a href="http://localhost:8080/wfe-service-4.X.X/SystemWebService/SystemAPI?wsdl" target="_blank">WSDL для WildFly и Jboss7</a></html>
| [https://github.com/processtech/runawfe-free-server/blob/v4.4.1/wfe-service/src/main/java/ru/runa/wfe/service/SystemService.java Открыть файл]
| [https://github.com/processtech/runawfe-free-server/blob/v4.4.1/wfe-service/src/main/java/ru/runa/wfe/service/SystemService.java Открыть файл]


Строка 113: Строка 100:
| ScriptingServiceBean
| ScriptingServiceBean
Сервис для удаленного выполнения скриптов на стороне сервера
Сервис для удаленного выполнения скриптов на стороне сервера
| <html><a href="http://localhost:8080/runawfe-wfe-service-4.X.X/ScriptingServiceBean?wsdl" target="_blank">WSDL для Jboss4</a></html>
| <html><a href="http://localhost:8080/wfe-service-4.X.X/ScriptingWebService/ScriptingAPI?wsdl" target="_blank">WildFly и Jboss7</a></html>
<html><a href="http://localhost:8080/wfe-service-4.X.X/ScriptingWebService/ScriptingAPI?wsdl" target="_blank">WSDL для WildFly и Jboss7</a></html>
| [https://github.com/processtech/runawfe-free-server/blob/v4.4.1/wfe-service/src/main/java/ru/runa/wfe/service/ScriptingService.java Открыть файл]
| [https://github.com/processtech/runawfe-free-server/blob/v4.4.1/wfe-service/src/main/java/ru/runa/wfe/service/ScriptingService.java Открыть файл]


Строка 122: Строка 108:
| SubstitutionServiceBean
| SubstitutionServiceBean
Сервис по работе с правилами замещения и их критериями
Сервис по работе с правилами замещения и их критериями
| <html><a href="http://localhost:8080/runawfe-wfe-service-4.X.X/SubstitutionServiceBean?wsdl" target="_blank">WSDL для Jboss4</a></html>
| <html><a href="http://localhost:8080/wfe-service-4.X.X/SubstitutionWebService/SubstitutionAPI?wsdl" target="_blank">WildFly и Jboss7</a></html>
<html><a href="http://localhost:8080/wfe-service-4.X.X/SubstitutionWebService/SubstitutionAPI?wsdl" target="_blank">WSDL для WildFly и Jboss7</a></html>
| [https://github.com/processtech/runawfe-free-server/blob/v4.4.1/wfe-service/src/main/java/ru/runa/wfe/service/SubstitutionService.java Открыть файл]
| [https://github.com/processtech/runawfe-free-server/blob/v4.4.1/wfe-service/src/main/java/ru/runa/wfe/service/SubstitutionService.java Открыть файл]


Строка 130: Строка 115:
| BotInvokerServiceBean {{Since|4.2.0}}
| BotInvokerServiceBean {{Since|4.2.0}}
Сервис по управлению бот станцией (запуск, остановка, получение статуса)
Сервис по управлению бот станцией (запуск, остановка, получение статуса)
| <html><a href="http://localhost:8080/runawfe-wfe-bots-4.X.X/BotInvokerServiceBean?wsdl" target="_blank">WSDL для Jboss4</a></html>
| <html><a href="http://localhost:8080/wfe-bots-4.X.X/BotInvokerWebService/BotInvokerAPI?wsdl" target="_blank">WildFly и Jboss7</a></html>
<html><a href="http://localhost:8080/wfe-bots-4.X.X/BotInvokerWebService/BotInvokerAPI?wsdl" target="_blank">WSDL для WildFly и Jboss7</a></html>
| [https://github.com/processtech/runawfe-free-server/blob/v4.4.1/wfe-bots/src/main/java/ru/runa/wfe/service/BotInvokerService.java Открыть файл]
| [https://github.com/processtech/runawfe-free-server/blob/v4.4.1/wfe-bots/src/main/java/ru/runa/wfe/service/BotInvokerService.java Открыть файл]


Строка 138: Строка 122:
| ReportServiceBean
| ReportServiceBean
Сервис по работе с отчетами
Сервис по работе с отчетами
| <html><a href="http://localhost:8080/runawfe-wfe-service-4.X.X/ReportServiceBean?wsdl" target="_blank">WSDL для Jboss4</a></html>
| <html><a href="http://localhost:8080/wfe-service-4.X.X/ReportWebService/ReportAPI?wsdl" target="_blank">WildFly и Jboss7</a></html>
<html><a href="http://localhost:8080/wfe-service-4.X.X/ReportWebService/ReportAPI?wsdl" target="_blank">WSDL для WildFly и Jboss7</a></html>
| [https://github.com/processtech/runawfe-free-server/blob/v4.4.1/wfe-service/src/main/java/ru/runa/wfe/service/ReportService.java Открыть файл]
| [https://github.com/processtech/runawfe-free-server/blob/v4.4.1/wfe-service/src/main/java/ru/runa/wfe/service/ReportService.java Открыть файл]


Строка 146: Строка 129:
| DataSourceServiceBean
| DataSourceServiceBean
Сервис по работе с источниками данных
Сервис по работе с источниками данных
| <html><a href="http://localhost:8080/runawfe-wfe-service-4.X.X/DataSourceServiceBean?wsdl" target="_blank">WSDL для Jboss4</a></html>
| <html><a href="http://localhost:8080/wfe-service-4.X.X/DataSourceWebService/DataSourceAPI?wsdl" target="_blank">WildFly и Jboss7</a></html>
<html><a href="http://localhost:8080/wfe-service-4.X.X/DataSourceWebService/DataSourceAPI?wsdl" target="_blank">WSDL для WildFly и Jboss7</a></html>
| [https://github.com/processtech/runawfe-free-server/blob/v4.4.1/wfe-service/src/main/java/ru/runa/wfe/service/DataSourceService.java Открыть файл]
| [https://github.com/processtech/runawfe-free-server/blob/v4.4.1/wfe-service/src/main/java/ru/runa/wfe/service/DataSourceService.java Открыть файл]


Строка 154: Строка 136:
| ChatServiceBean
| ChatServiceBean
Сервис по работе с чатом участников экземпляра бизнес-процесса
Сервис по работе с чатом участников экземпляра бизнес-процесса
| <html><a href="http://localhost:8080/runawfe-wfe-service-4.X.X/ChatServiceBean?wsdl" target="_blank">WSDL для Jboss4</a></html>
| <html><a href="http://localhost:8080/wfe-service-4.X.X/ChatWebService/ChatAPI?wsdl" target="_blank">WildFly и Jboss7</a></html>
<html><a href="http://localhost:8080/wfe-service-4.X.X/ChatWebService/ChatAPI?wsdl" target="_blank">WSDL для WildFly и Jboss7</a></html>
| [https://github.com/processtech/runawfe-free-server/blob/v4.4.1/wfe-service/src/main/java/ru/runa/wfe/service/ChatService.java Открыть файл]
| [https://github.com/processtech/runawfe-free-server/blob/v4.4.1/wfe-service/src/main/java/ru/runa/wfe/service/ChatService.java Открыть файл]


Строка 162: Строка 143:
| AuditServiceBean
| AuditServiceBean
Сервис по работе с логами системы и выполнения бизнес-процессов
Сервис по работе с логами системы и выполнения бизнес-процессов
| <html><a href="http://localhost:8080/runawfe-wfe-service-4.X.X/AuditServiceBean?wsdl" target="_blank">WSDL для Jboss4</a></html>
| <html><a href="http://localhost:8080/wfe-service-4.X.X/AuditWebService/AuditAPI?wsdl" target="_blank">WildFly и Jboss7</a></html>
<html><a href="http://localhost:8080/wfe-service-4.X.X/AuditWebService/AuditAPI?wsdl" target="_blank">WSDL для WildFly и Jboss7</a></html>
| [https://github.com/processtech/runawfe-free-server/blob/v4.4.1/wfe-service/src/main/java/ru/runa/wfe/service/AuditService.java Открыть файл]
| [https://github.com/processtech/runawfe-free-server/blob/v4.4.1/wfe-service/src/main/java/ru/runa/wfe/service/AuditService.java Открыть файл]


Строка 319: Строка 299:
<code>
<code>
  import suds
  import suds
  authentication = suds.client.Client("http://localhost:8080/runawfe-wfe-service-4.X.X/AuthenticationServiceBean?wsdl")
  authentication = suds.client.Client("http://localhost:8080/wfe-service-4.X.X/AuthenticationWebService/AuthenticationAPI?wsdl")
  user = authentication.service.authenticateByLoginPassword("Administrator", "wf");
  user = authentication.service.authenticateByLoginPassword("Administrator", "wf");
  execution = suds.client.Client("http://localhost:8080/runawfe-wfe-service-4.X.X/ExecutionServiceBean?wsdl")
  execution = suds.client.Client("http://localhost:8080/runawfe-wfe-service-4.X.X/ExecutionServiceBean?wsdl")
Строка 342: Строка 322:
  import suds
  import suds
  import base64
  import base64
  authentication = suds.client.Client("http://localhost:8080/runawfe-wfe-service-4.X.X/AuthenticationServiceBean?wsdl")
  authentication = suds.client.Client("http://localhost:8080/wfe-service-4.X.X/AuthenticationWebService/AuthenticationAPI?wsdl")
  user = authentication.service.authenticateByLoginPassword("Administrator", "wf");
  user = authentication.service.authenticateByLoginPassword("Administrator", "wf");
  definition = suds.client.Client("http://localhost:8080/runawfe-wfe-service-4.X.X/DefinitionServiceBean?wsdl")  
  definition = suds.client.Client("http://localhost:8080/wfe-service-4.X.X/DefinitionWebService/DefinitionAPI?wsdl")  
  execution = suds.client.Client("http://localhost:8080/runawfe-wfe-service-4.X.X/ExecutionServiceBean?wsdl")  
  execution = suds.client.Client("http://localhost:8080/wfe-service-4.X.X/ExecutionWebService/ExecutionAPI?wsdl")  
  processDefinition = definition.service.getLatestProcessDefinition(user, "demo variables test")
  processDefinition = definition.service.getLatestProcessDefinition(user, "demo variables test")
  interaction = definition.service.getTaskNodeInteraction(user, processDefinition.id, "ID1")
  interaction = definition.service.getTaskNodeInteraction(user, processDefinition.id, "ID1")
Строка 356: Строка 336:
  import suds
  import suds
  import base64
  import base64
  authentication = suds.client.Client("http://localhost:8080/runawfe-wfe-service-4.X.X/AuthenticationServiceBean?wsdl")
  authentication = suds.client.Client("http://localhost:8080/wfe-service-4.X.X/AuthenticationWebService/AuthenticationAPI?wsdl")
  user = authentication.service.authenticateByLoginPassword("Administrator", "wf");
  user = authentication.service.authenticateByLoginPassword("Administrator", "wf");
  definition = suds.client.Client("http://localhost:8080/runawfe-wfe-service-4.X.X/DefinitionServiceBean?wsdl")  
  definition = suds.client.Client("http://localhost:8080/wfe-service-4.X.X/DefinitionWebService/DefinitionAPI?wsdl")  
  processDefinition = definition.service.getLatestProcessDefinition(user, "demo variables test")
  processDefinition = definition.service.getLatestProcessDefinition(user, "demo variables test")
  variables = definition.service.getVariableDefinitionsWS(user, processDefinition.id)
  variables = definition.service.getVariableDefinitionsWS(user, processDefinition.id)
Строка 369: Строка 349:
  import suds
  import suds
  import base64
  import base64
  authentication = suds.client.Client("http://localhost:8080/runawfe-wfe-service-4.X.X/AuthenticationServiceBean?wsdl")
  authentication = suds.client.Client("http://localhost:8080/wfe-service-4.X.X/AuthenticationWebService/AuthenticationAPI?wsdl")
  user = authentication.service.authenticateByLoginPassword("Administrator", "wf");
  user = authentication.service.authenticateByLoginPassword("Administrator", "wf");
  execution = suds.client.Client("http://localhost:8080/runawfe-wfe-service-4.X.X/ExecutionServiceBean?wsdl")
  execution = suds.client.Client("http://localhost:8080/wfe-service-4.X.X/ExecutionWebService/ExecutionAPI?wsdl")
  print execution.service.getVariablesWS(user, 46)
  print execution.service.getVariablesWS(user, 46)
</code>
</code>
Строка 380: Строка 360:
  import suds
  import suds
  import base64
  import base64
  authentication = suds.client.Client("http://localhost:8080/runawfe-wfe-service-4.X.X/AuthenticationServiceBean?wsdl")
  authentication = suds.client.Client("http://localhost:8080/wfe-service-4.X.X/AuthenticationWebService/AuthenticationAPI?wsdl")
  user = authentication.service.authenticateByLoginPassword("Administrator", "wf");
  user = authentication.service.authenticateByLoginPassword("Administrator", "wf");
  execution = suds.client.Client("http://localhost:8080/runawfe-wfe-service-4.X.X/ExecutionServiceBean?wsdl")
  execution = suds.client.Client("http://localhost:8080/wfe-service-4.X.X/ExecutionWebService/ExecutionAPI?wsdl")
  variable = execution.factory.create('{http://impl.service.wfe.runa.ru/}variable')
  variable = execution.factory.create('{http://impl.service.wfe.runa.ru/}variable')
  variable.name = "editors"
  variable.name = "editors"

Версия 09:05, 20 апреля 2021

Руководство по работе с веб-сервисами сервера

Версия 4.5.0

© 2015-2023, ООО "Процессные технологии"

# Описание веб–сервисов сервера

Запуск веб-сервисов происходит автоматически при запуске RunaWFE–сервера. Веб-сервисы физически находятся в wfe-service-4.X.X.jar.

В RunaWFE версии 4 API веб-сервисов и Java API унифицированы за исключением нескольких методов с сигнатурами, содержащими сложные структуры и карты (java.util.Map) из-за ограничений веб-сервисов.

Во всем документе для формирования конкретного адреса нужно заменить 4.X.X на реальный номер версии системы.

# Определение версии сервера

Для использования в УРЛ-ах сервисов требуется указывать версию сервера. Её можно получать по адресу http://host:port/wfe/version (аутентификация не требуется).

# Доступ к веб-сервисам

# WildFly10 и Jboss7

http://localhost:8080/wfe-service-4.X.X/НазваниеВебСервиса/НазваниеИнтерфейса?wsdl


Название и описание сервиса Локальный WSDL Ссылка на описание методов (операций)
AuthenticationServiceBean

Сервис аутентификации пользователей

WildFly и Jboss7 Открыть файл


AuthorizationServiceBean

Сервис авторизации операций (проверка полномочий)

WildFly и Jboss7 Открыть файл


BotServiceBean

Сервис по управлению бот станциями, ботами и заданиями ботов

WildFly и Jboss7 Открыть файл


DefinitionServiceBean

Сервис управления определениями процессов

WildFly и Jboss7 Открыть файл


ExecutionServiceBean

Сервис управления процессами и контроля их исполнения

WildFly и Jboss7 Открыть файл


TaskServiceBean

Сервис по работе с заданиями

WildFly и Jboss7 Открыть файл


ExecutorServiceBean

Сервис по работе с исполнителями (пользователями и группами)

WildFly и Jboss7 Открыть файл


ProfileServiceBean

Сервис по работе с профилями пользователей

WildFly и Jboss7 Открыть файл


RelationServiceBean

Сервис по работе с отношениями

WildFly и Jboss7 Открыть файл


SystemServiceBean

Сервис содержит общие операции по работе с системой

WildFly и Jboss7 Открыть файл


ScriptingServiceBean

Сервис для удаленного выполнения скриптов на стороне сервера

WildFly и Jboss7 Открыть файл


SubstitutionServiceBean

Сервис по работе с правилами замещения и их критериями

WildFly и Jboss7 Открыть файл


BotInvokerServiceBean 4.2.0+

Сервис по управлению бот станцией (запуск, остановка, получение статуса)

WildFly и Jboss7 Открыть файл


ReportServiceBean

Сервис по работе с отчетами

WildFly и Jboss7 Открыть файл


DataSourceServiceBean

Сервис по работе с источниками данных

WildFly и Jboss7 Открыть файл


ChatServiceBean

Сервис по работе с чатом участников экземпляра бизнес-процесса

WildFly и Jboss7 Открыть файл


AuditServiceBean

Сервис по работе с логами системы и выполнения бизнес-процессов

WildFly и Jboss7 Открыть файл


# Работа с переменными 4.1.0+

В связи с реализацией сложных переменных работа с переменными была изменена (в части простых переменных тоже).

При операциях получения переменных заполнены следующие атрибуты:

Название Значение
name название переменной
scriptingName название переменной для использования в скриптах
format формат определяет тип переменной

для простых переменных принимает одно из значений: (string, text, integer, double, bigdecimal, boolean, date, datetime, time, file)

типы для работы с исполнителями характеризуются значениями: (executor, user, group)

компонентные типы характеризуются значениями: (list(?), map(?, ?)) с указанием типа компонент вместо вопросов

для пользовательских типов формируется описание на основании атрибутов в формате JSON

value значение переменной в формате JSON

При операциях отправки переменных нужно заполнять только атрибуты name и value, остальные атрибуты будут взяты из определения процесса.

Значение типа file представляется в виде, где для представления массива байт data используется кодировка Base64:

{
 "fileName": "test.txt",
 "contentType": "text/plain",
 "data": "IyEvdXNyL2Jpbi9lbnYgcHl0aG9uCgo="
}


Значение типа (executor, user, group) представляется в виде:

{
 "id": 44,
 "name": "kermit",
 "fullName": "Kermit Alex"
}

При отправке переменной заполнить можно только атрибут id или name.

# Примеры

# Вызов веб-сервисов из клиента на языке Java

Проект wfe-webservice-client создан для авто-генерации клиентской библиотеки на основе серверных сервисов. В нём же есть примеры использования.

Сборку проекта можно осуществить с помощью команды в проекте wfe-webservice-client.

mvn clean install -Dappserver=jboss7 -Dmaven.test.skip=true

Перед сборкой необходимо запустить сервер (используется утилита wsconsume).

Другим вариантом генерации классов, требуемых для взаимодействия с веб-сервисом из WSDL является Jboss-утилита wsconsume.bat(sh), которой можно воспользоваться. Также можно скачать уже сгенерированный набор классов с исходниками runawfe-ws-client.4.X.X.jar. После этого необходимо добавить классы в classpath и использовать их API.

# Получения списка заданий пользователя

Пример:

   public static void main(String[] args) {
       try {
           AuthenticationAPI authenticationAPI = new AuthenticationWebService().getAuthenticationAPIPort();
           User user = authenticationAPI.authenticateByLoginPassword("Administrator", "wf");
           TaskAPI taskAPI = new TaskWebService().getTaskAPIPort();
           List<WfTask> tasks = taskAPI.getTasks(user, null);
           System.out.println("TASKS = " + tasks.size());
           for (WfTask task : tasks) {
               System.out.println(" Task " + task.getName() + " assigned to " + task.getOwner().getName());
           }
       } catch (Exception e) {
           e.printStackTrace();
       }
   }

# Работа с сигналами

В RunaWFE 4.4.1 были добавлены команды для работы с сигналами.

boolean signalReceiverIsActiveWS(User user, Map<String, String> routingData) - проверка, может ли сигнал быть обработан немедленно (существует ли по крайней мере один соответствующий активный получатель CatchEventNode)

void sendSignalWS(User user, Map<String, String> routingData, Map<String, ?> payloadData, long ttlInSeconds) - отправка сигнала получателям (CatchEventNode)


Тестовый процесс с узлом ожидания сигнала, в свойствах маршрутизации processDefinitionName=${currentDefinitionName}. Файл:Sample1655.par

Код проверяющий наличие активного получателя со свойствами маршрутизации "processDefinitionName"="sample1655-unknown" и "processDefinitionName"="sample1655". А также непосредственно отправка сигнала в ожидающий в БП "sample1655" узел.

   public static void main(String[] args) {
       try {
           AuthenticationAPI authenticationAPI = new AuthenticationWebService().getAuthenticationAPIPort();
           User user = authenticationAPI.authenticateByLoginPassword("Administrator", "wf");
           ExecutionAPI executionAPI = new ExecutionWebService().getExecutionAPIPort();
           {
               List<StringKeyValue> routingData = new ArrayList<>();
               routingData.add(create("processDefinitionName", "sample1655-unknown"));
               System.out.println(executionAPI.signalReceiverIsActiveWS(user, routingData));
           }
           {
               List<StringKeyValue> routingData = new ArrayList<>();
               routingData.add(create("processDefinitionName", "sample1655"));
               System.out.println(executionAPI.signalReceiverIsActiveWS(user, routingData));
           }
           {
               List<StringKeyValue> routingData = new ArrayList<>();
               routingData.add(create("processDefinitionName", "sample1655"));
               List<StringKeyValue> payloadData = new ArrayList<>();
               payloadData.add(create("stringValue", "sample"));
               payloadData.add(create("datetimeValue", "17.02.2020 15:17:44"));
               executionAPI.sendSignalWS(user, routingData, payloadData, 1);
           }
       } catch (Exception e) {
           e.printStackTrace();
       }
   }
   private static StringKeyValue create(String key, String value) {
       StringKeyValue kv = new StringKeyValue();
       kv.setKey(key);
       kv.setValue(value);
       return kv;
   }

# Вызов веб-сервисов из клиента на языке Python

Используя библиотеку suds можно взаимодействовать с сервером посредством веб-сервисов.

Файл:Demo variables test.par

Запуск процесса

import suds
authentication = suds.client.Client("http://localhost:8080/wfe-service-4.X.X/AuthenticationWebService/AuthenticationAPI?wsdl")
user = authentication.service.authenticateByLoginPassword("Administrator", "wf");
execution = suds.client.Client("http://localhost:8080/runawfe-wfe-service-4.X.X/ExecutionServiceBean?wsdl")
variable1 = execution.factory.create('{http://impl.service.wfe.runa.ru/}variable')
variable1.name="string"
variable1.value="Test"
variable2 = execution.factory.create('{http://impl.service.wfe.runa.ru/}variable')
variable2.name="date"
variable2.value="2012-01-01"
variable3 = execution.factory.create('{http://impl.service.wfe.runa.ru/}variable')
variable3.name="number"
variable3.value=2012
variable4 = execution.factory.create('{http://impl.service.wfe.runa.ru/}variable')
variable4.name="executor"
variable4.value="{\"id\":1}"
print execution.service.startProcessWS(user, "demo variables test", [variable1, variable2, variable3, variable4])

Получение формы узла определения БП (по идентификаторам определения БП и узла)

import suds
import base64
authentication = suds.client.Client("http://localhost:8080/wfe-service-4.X.X/AuthenticationWebService/AuthenticationAPI?wsdl")
user = authentication.service.authenticateByLoginPassword("Administrator", "wf");
definition = suds.client.Client("http://localhost:8080/wfe-service-4.X.X/DefinitionWebService/DefinitionAPI?wsdl") 
execution = suds.client.Client("http://localhost:8080/wfe-service-4.X.X/ExecutionWebService/ExecutionAPI?wsdl") 
processDefinition = definition.service.getLatestProcessDefinition(user, "demo variables test")
interaction = definition.service.getTaskNodeInteraction(user, processDefinition.id, "ID1")
print base64.b64decode(interaction.formData).decode("utf-8")

Получение списка определений переменных в определении процесса

import suds
import base64
authentication = suds.client.Client("http://localhost:8080/wfe-service-4.X.X/AuthenticationWebService/AuthenticationAPI?wsdl")
user = authentication.service.authenticateByLoginPassword("Administrator", "wf");
definition = suds.client.Client("http://localhost:8080/wfe-service-4.X.X/DefinitionWebService/DefinitionAPI?wsdl") 
processDefinition = definition.service.getLatestProcessDefinition(user, "demo variables test")
variables = definition.service.getVariableDefinitionsWS(user, processDefinition.id)
print variables

Получение переменных процесса

import suds
import base64
authentication = suds.client.Client("http://localhost:8080/wfe-service-4.X.X/AuthenticationWebService/AuthenticationAPI?wsdl")
user = authentication.service.authenticateByLoginPassword("Administrator", "wf");
execution = suds.client.Client("http://localhost:8080/wfe-service-4.X.X/ExecutionWebService/ExecutionAPI?wsdl")
print execution.service.getVariablesWS(user, 46)

Обновление переменных процесса

import suds
import base64
authentication = suds.client.Client("http://localhost:8080/wfe-service-4.X.X/AuthenticationWebService/AuthenticationAPI?wsdl")
user = authentication.service.authenticateByLoginPassword("Administrator", "wf");
execution = suds.client.Client("http://localhost:8080/wfe-service-4.X.X/ExecutionWebService/ExecutionAPI?wsdl")
variable = execution.factory.create('{http://impl.service.wfe.runa.ru/}variable')
variable.name = "editors"
variable.value = "[\"Scaners\", \"Ports\", \"Enumerators\"]"
print execution.service.updateVariablesWS(user, 46, variable)