Взявся розбиратися з написанням web-сервісів.
З початковою операцією сервісу [http://bpmonline-dev.local/ServiceModel/AuthService.svc/Login] питань не виникло.
Авторизуюсь, витягую coocies. Все добре.
Але є запитання з подальшою технологією роботи.
[http://localhost/ServiceModel/AuthService.svc/Help] видає варіанти використання сервісу:
Uri Method Description
GetSolutions
POST
Service at http://localhost/ServiceModel/AuthService.svc/GetSolutions
GetSolutionsData
POST
Service at http://localhost/ServiceModel/AuthService.svc/GetSolutionsData
Login
POST
Service at http://localhost/ServiceModel/AuthService.svc/Login
GET
Service at http://localhost/ServiceModel/AuthService.svc/Login?UserName={USERNAME}&UserPassword={USERPASSWORD}&SolutionName={SOLUTIONNAME}&TimeZoneOffset={TIMEZONEOFFSET}
Я так зрозумів, що для формування http-звернення до сервера потрібно визначити номер рішення (solution) яке має бути підставлене в рядок звернення:
http://localhost/номер рішення>/ServiceModel/ProcessEngineService.svc/назва створеного сервісу>Execute
Питання: як визначити номер рішення ?
(якщо можна - з прикладом).
Нравится
Ну от, потрібну інформацію видає сервіс
http://localhost/ServiceModel/AuthService.svc/GetSolutionsData:
[{"Key":"TSBpm","Value":0},{"Key":"TSBpm.1","Value":1},{"Key":"TSBpm.2","Value":2},{"Key":"TSBpm.3","Value":3}]
Добый день, Игорь!
Обычно в продуктивной среде используется только 1 рабочее решение (конфигурация), и его номер - 0. Другие конфигурации могут использоваться для разработки и их номера соответсвуют полю [Number] таблицы [SysSolution], а на IIS должно быть добавлено соответсвующее приложение для каждой конфигурации, как видно на скрине:
Ну, загалом справився.
Написав програмку, в яку вхідними параметрами передаю web-ресурс, назву служби, назву рішення та ще кілька параметрів для проформи.
Спочатку проводжу аутентифікацію за допомогою служби:
http://localhost/ServiceModel/AuthService.svc/Login
Потім читаю список рішень в JSON-форматі за допомогою тієї ж служби:
http://localhost/ServiceModel/AuthService.svc/GetSolutionsData
в цьому списку шукаю рішення за назвою, визначаю номер рішення.
Далі, маючи web-ресурс, назву служби з вхідних параметрів та номер рішення, формую звернення до цієї служби:
http://localhost/<№ рішення>/ServiceModel/ProcessEngineService.svc//Execute
Писав для зовнішнього запуску служби завантаження email-ів, яка раніше запускалася windows-планувальником за допомогою утилітки ProcessExecutor54.exe.
Я в ImapClient вніс зміни на предмет фіксації типу вкладеного в email-файлу, і служба завантаження email-ів в інтерфейсі BPMonline працювала нормально, а при зовнішньому запуску типи файлів не фіксувались (наче ProcessExecutor54.exe десь знаходила старий варіант служби).
Тому вирішив написати свій стартер для web-служб BPMonline.
Написав.
Працює зараз в тестовому режимі.
Поки що все [ok].
Якщо комусь цікаво - можу поділитися .NET утиліткою BPMonlineServise.exe