Invoking REST API from PCS

このエントリは、以下のエントリの続きです。

Invoking PCS process as soon as storing files or folders to DoCS (as of November 30, 2016)

前回のエントリでは、DoCSでドキュメント着信を起点としてPCSプロセスを起動しました。今回は、当該ドキュメントをレビューした結果問題なかったので、完成図書フォルダに配置する、というシナリオでDoCS REST APIをPCSから呼び出すことにします。今回はドキュメントを対象にしていますが、フォルダ着信でも呼び出すREST APIこそ違いますが、基本は同じです。

PCSプロセスの全体像

下図のような感じです。非常にシンプルですが、Move contentsでDoCSのREST APIを呼び出しています。

pcs_01

Integration (統合) の構成

PCSではREST、SOAP、ICS (Integration Cloud Service) を使って種々のサービスと連携することができます。今回はDoCS REST APIを使います。

  1. [アプリケーション・ホーム]>[統合]を選択し、右上部の[統合]を選択し、+をクリックして[外部]>[REST]を選択
    pcs_02
    [定義]を選択している場合は、[RESTコネクタの作成]を選択します。
    pcs_03
  2. 統合の名前、ベースURLを指定し、[作成]をクリック(このとき、[すぐに開始]にチェックを入れると、作成後編集画面へ遷移します)。
    pcs_04
    ここで、ベースURLには、DoCS REST APIのベースURLを指定します。
  3. RESTコネクタ・エディタ画面で、セキュリティ設定(認証情報)を構成
    ここでは、キーストア資格証明に名前を付けて、DoCSへのアクセスが可能な資格証明情報を指定します。
    pcs_05
  4. リソースを追加
    リソースの名前を付け、メソッドを追加します。
    pcs_06
    今回の場合、パスにはDoCS REST APIのバージョン番号まで(下線部分のみ)を指定します。

    {DoCSのURL}/documents/api/1.1

    接続するAPIはPOSTメソッドを使うので、POSTを選択して追加します。
    pcs_07

  5. メソッドの編集
    メソッドの名前、リクエストメッセージ、レスポンスメッセージを構成します。ドキュメントを移動させるDoCS REST APIを使いたいので、以下のようにパスを指定します。パス内で{}で囲んだ要素はPath Parameterとして取り扱います。
    pcs_08
    DoCS REST APIのドキュメントによると、JSON形式のリクエストメッセージが必要で、レスポンスメッセージもJSON形式で返ってくるようです。

    REST API for Oracle Documents Cloud Service
    Move File
    https://docs.oracle.com/cloud/latest/documentcs_welcome/WCDRA/op-documents-api-1.1-files-%7BfileId%7D-move-post.html

    そのため、リクエストメッセージ、レスポンスメッセージのサンプルをJSON形式で渡し、ビジネス・オブジェクト (Business Object) のスキーマを作成します。[本体]の右にある+をクリックし、[JSONからのビジネス・オブジェクトのインポート]を開きます。
    pcs_09

  6. ビジネス・オブジェクトのスキーマ作成(リクエスト・メッセージ)
    リクエストメッセージのJSONサンプルデータとして、以下のJSONデータを入力します。

    {
    "destinationID": "FF4729683CD68C1AFB1AE87DT0000000000100000001"
    }
    

    サンプルデータに数値のみの値が入っている場合、JSON形式上は文字列であったとしてもPCSが文字列として取り扱わずにスキーマを生成することがあります。そのため、文字列の場合は文字を含むように指定します。同様に、数値のみの場合で、小数点を含まない場合、Integerとして扱うため、Decimalとして扱いたい場合には小数点を含む数値を指定するようにしてください。
    名前、JSONサンプルデータを作成したら、[インポート]をクリックします。このJSONデータを基にして、ビジネス・オブジェクトのスキーマを作成します。
    PCS_10.PNG

  7. ビジネス・オブジェクトのスキーマ作成(レスポンスメッセージ)
    レスポンスメッセージのビジネス・オブジェクトも、リクエストと同じ方法で作成します。今回は、以下のJSONデータを使いました。
    errorCodeは本来数字のみで構成される文字列なのですが、前述の通り、文字列として明示するためにA0という表現を使っています。

    {
    "destinationID": "FF4729683CD68C1AFB1AE87DT0000000000100000001",
    "errorCode": "A0",
    "idList": "D4018B1EF3AC07D0A349DB8DT0000000000100000001",
    "type": "file"
    }
    

    作成が完了したら、[適用]をクリックします。アプリケーションの保存(可能であれば公開も)をお忘れ無く。

PCSプロセスの作成

基本的には通常のPCSプロセスの作成と変わるところはありません。

  1. サービス・アクティビティの配置
    プロセスにサービス・アクティビティを配置し、当該アクティビティをクリックしてメニューアイコンから[プロパティを開く]を選択します。
    pcs_11
    プロパティでは、[タイプ]として[サービス・コール]を選択し、鉛筆アイコンをクリックします。
    pcs_12

    [構成]画面で、先ほど作成した統合を選択し、先ほど作成したリソース、操作を選択して[OK]をクリックします。
    pcs_13

  2. データ・アソシエーション
    サービス・アクティビティに対しデータ・アソシエーションを設定します。リクエスト(入力)ではPath ParameterとJSONサンプルデータを基にして作成したビジネス・オブジェクトに従って、データ要素を渡していきます。
    pcs_14
    レスポンス(出力)は必要に応じてデータ・オブジェクトを作成して受け取るようにしておきます。この例では、moveResponseというデータ・オブジェクトを作成し、レスポンスメッセージを受け取っています。
    pcs_15

これで終了です。

あとはプロセスの妥当性チェックの上でデプロイし、動作確認してください。

anishi1222 について

とあるキャラクターの中の人です。
カテゴリー: Cloud, Middleware タグ: , , パーマリンク

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中