Запускаю из вне процесс

Имя процесса: UsrProcessWidgetTableExample

Параметр который надо вернуть: ProcessSchemaParameterJson

 

https://<url>/0/ServiceModel/ProcessEngineService.svc/UsrProcessWidgetTableExample/Execute?ResultParameterName=ProcessSchemaParameterJson

 

Сам процесс состоит из одного квадратика с кодом:

Set("ProcessSchemaParameterJson","test123");
return true;

 

Получаю ответ:

(
    [headers] => HTTP/1.1 200 OK
Cache-Control: private
Content-Type: application/xml; charset=utf-8
Server: Microsoft-IIS/10.0
Set-Cookie: BPMSESSIONID=3m.............vy; path=/0; secure; HttpOnly
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
X-Frame-Options: SAMEORIGIN
X-Content-Type-Options: nosniff
Date: Thu, 30 Apr 2020 08:21:02 GMT
Content-Length: 81
 
 
    [body] => <string xmlns="http://schemas.microsoft.com/2003/10/Serialization/">null</string>
    [cookie] => Array
        (
            [BPMLOADER] => obz3y12.....etundy
            [.ASPXAUTH] => 68F1414ABB.......B6435F4185
            [BPMCSRF] => PEJj1P......mOjTe
            [UserName] => 83|117......111|114
        )
 
)

 

То есть всегда получаю null.

Вопрос: как запустить процесс из другого сервиса и вернуть в ответ строку? (или что я делаю не так?)

Нравится

3 комментария

Виталий, насколько понимаю, в более новом интерпретируемом движке процессов такое делать нельзя. Можно было только для компилируемых. См. обсуждение.

Зверев Александр, 

Спасибо за ответ. Это печально )

В 7.17.1 должен появиться возврат результата из нынешних интерпретируемых БП, в академии будут инструкции по запуску из клиентского и серверного кода.

Показать все комментарии

Привет.
Есть POST сервис на C#, который принимает и возвращает json.
Появилась идея, чтоб не регистрировать этот сервис в bpmonline запускать его через бизнес процесс.
Все нормально работает, но вот как передать в БП json тело и получить некий json обратно?
Пока удалось только передать параметры в Url.

Нравится

1 комментарий

Добрый день,
На данный момент в сервисе ProcessEngineService нет такого метода, который бы позволял передавать параметры из тела POST запроса. Есть похожий метод ExecuteProcessWithResultPost но он устанавливает параметры процесса только из URL.

Показать все комментарии

Добрый день.

1. Как отпраить GET-запроса на сторонний ресурс,получить ответ в формате json?
2. Отобразаить полученные данные в карточке клиента (контрагенты и контакты)?
3. Это программировать надо? Если да, то куда вписывать код?

Спасибо!

Нравится

3 комментария

Получить текст ответа сервера можно при помощи объекта MSXML2.XMLHTTP.6.0.

var webAddress = 'http://example.com/example';
var xmlHttpReq = new ActiveXObject("MSXML2.XMLHTTP.6.0");
xmlHttpReq.open("GET", webAddress, false);        
xmlHttpReq.send();
var MyText = xmlHttpReq.responseText;

Он возвращает текст (в Вашем случае JSON), его можно превратить в JS-объект кодом вроде:

eval('(' + MyText + ')')

Как отобразить, зависит от конкретной реализации и техническго задания (сразу при открытии карточки, принудительно по кнопке или, может, регулярно по таймеру).
Это действительно требует программирования, код впишется в один из методов скрипта карточки или скрипта датасета, опять же, в зависимости от того, что именно хотите сделать.

А есть на скринах,где показывается,как внедрять код в скрипт в СРМ.
Я как понимаю,требуется написать код,внедрить его.
Я совсем новичек в системе.

Предыдущий комментарий был по 3.Х. Если у Вас 7.5, там всё иначе. Для вопросов по ней есть специальный раздел.

Показать все комментарии