Сигнализация BPM-процесса из PL / SQL - PullRequest
3 голосов
/ 15 мая 2011

Я довольно новичок в мире BPM. Так что я могу пропустить основные части темы, так что прости меня, если я это сделаю.

Что мне нужно сделать, так это запустить / подать сигнал / запрос (я не знаю лучшего глагола :)) BPM-процесс из кода PL / SQL. Таким образом, я предполагаю, что это должно быть больше HTTP-запроса, скорее всего, запроса веб-службы.

Я использую jBPM в качестве своего BPM-движка, но это не обязательно, я могу использовать любую опцию, которая проще в моем сценарии.

Любые советы о том, с чего начать.

Ответы [ 2 ]

2 голосов
/ 16 мая 2011

Вы также можете взглянуть на UTL_DBWS, пакет утилит Oracle для вызова (или создания) веб-служб.

Посмотрите ЗДЕСЬ и ЗДЕСЬ для примераuse.

Другая возможность - создать внешнюю процедуру (возможно, Java) и обработать там детали вызова.

Наконец, если служба является более старой службой tcp (вероятно, нет),посмотрите на utl_tcp (в прошлом я успешно использовал это в проектах, но не так просто, как вызов службы xml и некоторые проблемы с безопасностью)

1 голос
/ 16 мая 2011

Пакет UTL_HTTP содержит процедуры для отправки и обработки HTTP-запросов из пакета PL / SQL. Вот образец:

declare
    v_request UTL_HTTP.REQ;
    v_response UTL_HTTP.RESP;
    v_value VARCHAR2(1024);
begin
    v_request := UTL_HTTP.BEGIN_REQUEST('http://my.hostname.com/wsendpoint');
    v_response := UTL_HTTP.GET_RESPONSE(v_req);
    LOOP
        UTL_HTTP.READ_LINE(v_response, v_value, TRUE);
        DQMS_OUTPUT.PUT_LINE(v_value);
    END LOOP;
    UTL_HTTP.END_RESPONSE(resp);
end;

Документация: http://download.oracle.com/docs/cd/B10501_01/appdev.920/a96612/u_http.htm

...