【问题标题】:Signaling BPM process from PL/SQL从 PL/SQL 发信号通知 BPM 流程
【发布时间】:2011-05-15 10:33:56
【问题描述】:

我对 BPM 世界还很陌生。所以我可能会错过这个话题的基本部分,如果我这样做了,请原谅我。

我需要做的是,触发器/信号/请求(我不知道最好的动词:))来自 PL/SQL 代码的 BPM 流程。所以我最广泛的猜测是,这应该是通过一个 http 请求,很可能是一个 Web 服务请求。

我使用 jBPM 作为我的 BPM 引擎,但这不是必须的,我可以使用任何更容易在我的场景中工作的选项。

关于从哪里开始的任何建议。

【问题讨论】:

    标签: oracle plsql jbpm business-process-management


    【解决方案1】:

    您还可以查看 UTL_DBWS,这是一个用于调用(或创建)Web 服务的 Oracle 实用程序包。

    查看HEREHERE 以了解其使用示例。

    另一种可能性是创建一个外部过程(可能是 Java)并在那里处理调用细节。

    最后,如果该服务是更老派的 tcp 服务(可能不是),请查看utl_tcp(我在过去的项目中成功使用过此服务,但不如调用 xml 服务好用,以及一些需要解决的安全问题)

    【讨论】:

      【解决方案2】:

      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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-04-28
        • 2013-07-22
        • 2016-02-28
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多