camunda はどのように外部 Web サービス/HTTP サービスを呼び出すのか

1. Camunda では、Java または JavaScript を使用して外部 Web サービスを呼び出すことができます。以下は、Java を使用して Web サービス呼び出しを実装する例です。

URL url = new URL(“http://example.com/api”);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod(“POST”);
connection.setRequestProperty(“Content-Type”, “application/json”);
connection.setDoOutput(true);

OutputStreamWriter out = new OutputStreamWriter(connection.getOutputStream());
out.write(“{‘param1’: ‘value1’, ‘param2’: ‘value2’}”);
out.close();

InputStream inputStream = connection.getInputStream();


この例では、Java の HttpURLConnection クラスを使用して Web サービスを呼び出します。まず、Web サービスのアドレスを指定する URL オブジェクトを作成します。次に、HttpURLConnection 接続を開き、リクエスト メソッドとリクエスト ヘッダーを設定します。次に、リクエストの本文を接続の出力ストリームに書き込み、ストリームを閉じます。最後に、接続の入力ストリームから Web サービスの応答を読み取ります。2. Camunda のサービス タスク ノードで、上記のコードを使用して Web サービスを呼び出すことができます。たとえば、次のコードを Java クラスのexecute() メソッドに追加できます。

URL url = new URL(“http://example.com/api”);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod(“POST”);
connection.setRequestProperty(“Content-Type”, “application/json”);
connection.setDoOutput(true);

OutputStreamWriter out = new OutputStreamWriter(connection.getOutputStream());
out.write(“{‘param1’: ‘value1’, ‘param2’: ‘value2’}”);
out.close();

InputStream inputStream = connection.getInputStream();

String responseBody = new String(inputStream.readAllBytes());
execution.setVariable(“responseBody”, responseBody);

この例では、まず URL オブジェクトを作成し、次に HttpURLConnection クラスを使用して接続を開き、要求メソッドとヘッダーを設定します。次に、リクエストの本文を接続の出力ストリームに書き込み、ストリームを閉じます。次に、接続の入力ストリームから Web サービスの応答を読み取り、応答本文を文字列としてプロセス変数に保存します。最後に、BPMN モデルで式言語を使用してプロセス変数にアクセスし、Web サービスから応答を取得できます。

おすすめ

転載: blog.csdn.net/wxz258/article/details/130721654