3

I am fairly new to BPM world. So i might miss basic parts of the topic, so forgive me if I do so.

What I need to do is , trigger/signal/request ( I don't know the best verb:) ) a BPM process from PL/SQL code. So my broadest guess is, this should be over an http request, most probably a web service request.

I use jBPM as my BPM engine, but it is not a must, I can use any option which is easier to work on my scenario.

Any advice on where to start.

Datajam
  • 4,141
  • 2
  • 23
  • 25
Serkan Kasapbaşı
  • 409
  • 1
  • 4
  • 12

2 Answers2

2

You may also look into UTL_DBWS, an Oracle utility package for calling (or creating) web services.

Look HERE and HERE for an example of its use.

Another possibility is to create an external procedure (Java perhaps) and handle the call details there.

Finally, if the service is a more old school tcp service (probably not), look at utl_tcp (I've used this with success in projects in the past, but not as easy to use as calling an xml service, and some security issues to workthrough)

tbone
  • 15,107
  • 3
  • 33
  • 40
1

The UTL_HTTP package contains procedures to send and process HTTP requests from within a PL/SQL package. Here's a sample:

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;

Documentation: http://download.oracle.com/docs/cd/B10501_01/appdev.920/a96612/u_http.htm

Datajam
  • 4,141
  • 2
  • 23
  • 25