我对BPM世界还不熟悉。所以我可能会错过这个主题的基本部分,所以如果我这样做,请原谅我。
我需要做的是,触发/信号/请求(我不知道最好的动词:))来自PL / SQL代码的BPM流程。所以我最广泛的猜测是,这应该是一个http请求,很可能是一个Web服务请求。
我使用jBPM作为我的BPM引擎,但它不是必须的,我可以使用任何更容易在我的场景上工作的选项。
关于从哪里开始的任何建议。
答案 0 :(得分:2)
您还可以查看UTL_DBWS,这是一个用于调用(或创建)Web服务的Oracle实用程序包。
另一种可能性是创建一个外部过程(可能是Java)并在那里处理调用细节。
最后,如果该服务是一个更旧的学校tcp服务(可能不是),请查看utl_tcp(我过去在项目中使用过这个,但不像调用一样容易使用xml服务,以及一些需要解决的安全问题)
答案 1 :(得分:1)
UTL_HTTP包中包含从PL / SQL包中发送和处理HTTP请求的过程。这是一个示例:
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