Veeva Vault Connector 1.5 の例 - Mule 4

Veeva Vault でのドキュメントの作成

次の例では、外部ソース (データベース) からフェッチしたドキュメントメタデータを使用してドキュメントを一括で作成します。Veeva Vault でドキュメントを作成する前に、Veeva Vault FTP サーバーを使用してドキュメントファイルをアップロードします。ドキュメントの ​created​ 状況がデータベースに挿入されます。

次のスクリーンショットは、この例の Studio アプリケーションフローを示しています。

Create Documents 操作の Mule フロー
Upload Documents 操作の Mule フロー

最初のフローを作成する

  1. [Mule Palette (Mule パレット)]​ ビューから、​[HTTP]​ を選択して ​[Listener]​ ソースをキャンバスにドラッグします。

  2. 使用する環境に応じて HTTP リスナーを設定します。

  3. [Mule Palette (Mule パレット)]​ ビューから、​[Database (データベース)]​ を選択して ​[Select]​ 操作をキャンバスにドラッグし、テーブルからドキュメントメタデータをフェッチします。

  4. 接続ログイン情報を使用するように Database Connector を設定します。

  5. [SQL Query Text (SQL クエリテキスト)] 項目に「​>SELECT * FROM createdocuments​」と入力します。

  6. [Mule Palette (Mule パレット)]​ ビューから ​[Core (コア)]​ を選択して ​[Flow Reference]​ コンポーネントをキャンバスにドラッグし、サブフロー ​upload-files-on-vault-ftp-server​ を参照します。

  7. [Mule Palette (Mule パレット)]​ ビューから ​[Core (コア)]​ を選択して ​[For Each]​ スコープを次の要素が含まれるキャンバスにドラッグします。

    1. [Mule Palette (Mule パレット)]​ ビューから、​[Core (コア)]​ を選択して ​[Transform Message]​ コンポーネントをキャンバスにドラッグし、ドキュメントメタデータを CSV 形式に変換します。

    2. [Mule Palette (Mule パレット)]​ ビューから、​[Veeva Vault]​ を選択して ​[Create Documents]​ 操作をキャンバスにドラッグします。

    3. Veeva Vault 接続の次の値を入力します。

      • Username (ユーザー名)

      • Password (パスワード)

      • Vault URL

      • Vault version (Vault バージョン)

      • Vault client ID (Vault クライアント ID)

    4. [Mule Palette (Mule パレット)]​ ビューから、​[Database (データベース)]​ を選択して ​[Bulk insert]​ 操作をキャンバスにドラッグし、ドキュメント作成済み状況データをデータベーステーブルに挿入します。

  8. 接続ログイン情報を使用するように Database Connector を設定します。

  9. [Mule Palette (Mule パレット)]​ ビューから ​[Core (コア)]​ を選択して ​[Logger]​ コンポーネントをキャンバスにドラッグし、コンソールまたはログファイルに情報を記録します。

2 つ目のフローを作成する

  1. [Mule Palette (Mule パレット)]​ ビューから、​[Core (コア)]​ を選択して ​[Logger]​ コンポーネントをキャンバスにドラッグし、このサブフローの情報を記録します。

  2. [Mule Palette (Mule パレット)]​ ビューから ​[Core (コア)]​ を選択して ​[For Each]​ スコープを次の要素が含まれるキャンバスにドラッグします。

    1. [Mule Palette (Mule パレット)]​ ビューから、​[Core (コア)]​ を選択して ​[Logger]​ コンポーネントをキャンバスにドラッグします。

    2. [Mule Palette (Mule パレット)]​ ビューから、​[FTPS]​ を選択して ​[Read]​ 操作をキャンバスにドラッグします。

    3. [Mule Palette (Mule パレット)]​ ビューから、​[Core (コア)]​ を選択して ​[Logger]​ コンポーネントをキャンバスにドラッグします。

    4. [Mule Palette (Mule パレット)]​ ビューから ​[FTPS]​ を選択して ​[Write]​ 操作をキャンバスにドラッグし、ファイルを Veeva Vault FTP サーバーに書き込みます。

  3. [Mule Palette (Mule パレット)]​ ビューから、​[Core (コア)]​ を選択して別の ​[Logger]​ コンポーネントをキャンバスにドラッグします。

  4. Veeva Vault FTP サーバーのログイン情報を使用するように FTPS Connector を設定します。

例の XML

この例の 2 つのフローをすばやく Mule アプリケーションに読み込むには、次のコードを Studio XML エディターに貼り付けます。

ドキュメントの詳細を取得する

この例では、ドキュメント種別、サブタイプ、分類に基づいてドキュメントの詳細を取得してデータベースに保存します。

次のスクリーンショットは、この例の Studio アプリケーションフローを示しています。

Get Documents 操作の Mule フロー
  1. [Mule Palette (Mule パレット)]​ ビューから、​[HTTP]​ を選択して ​[Listener]​ ソースをキャンバスにドラッグします。

  2. 使用する環境に応じて HTTP リスナーを設定します。

  3. [Mule Palette (Mule パレット)]​ ビューから、​[Veeva Vault]​ を選択して ​[Get Documents]​ 操作をキャンバスにドラッグします。

  4. Veeva Vault 接続の次の値を入力します。

    • Username (ユーザー名)

    • Password (パスワード)

    • Vault URL

    • Vault version (Vault バージョン)

    • Vault client ID (Vault クライアント ID)

  5. 各更新ボタンをクリックして、ドキュメント種別、サブタイプ、および分類のリストをフェッチします。

  6. 各ドロップダウンリストからドキュメント種別、サブタイプ、および分類を選択します。

  7. ビジネス要件に応じてドキュメントプロパティを [Document Properties (ドキュメントプロパティ)] リストに追加し、プロパティ名を VQL クエリに組み込んで、VQL クエリを動的にビルドします。

  8. [Mule Palette (Mule パレット)]​ ビューから ​[Core (コア)]​ を選択して ​[For Each]​ スコープを次の要素が含まれるキャンバスにドラッグします。

    1. [Mule Palette (Mule パレット)]​ ビューから、​[Core (コア)]​ を選択して ​[Transform Message]​ コンポーネントをキャンバスにドラッグします。

    2. [Mule Palette (Mule パレット)]​ ビューから、​[Database (データベース)]​ を選択して ​[Insert]​ 操作をキャンバスにドラッグします。

    3. 接続ログイン情報を使用して、Database Connector を設定します。

  9. ビジネス要件に従って、DataWeave を使用して変換を設定します。

  10. データをテーブルに挿入するように ​Insert​ 操作を設定します。

  11. [Mule Palette (Mule パレット)]​ ビューから ​[Core (コア)]​ を選択して ​[Set Payload]​ トランスフォーマーをキャンバスにドラッグし、トリガーソースに返すペイロードを設定します。

  12. [Mule Palette (Mule パレット)]​ ビューから ​[Core (コア)]​ を選択して ​[Logger]​ コンポーネントをキャンバスにドラッグし、コンソールまたはログファイルに情報を記録します。

例の XML

この例のフローをすばやく Mule アプリケーションに読み込むには、次のコードを Studio XML エディターに貼り付けます。

ドキュメントまたはオブジェクトデータのフェッチ

この例では、VQL クエリを使用して Veeva Vault からドキュメントまたはオブジェクトデータをフェッチします。

次のスクリーンショットは、この例の Studio アプリケーションフローを示しています。

Query 操作の Mule フロー

  1. [Mule Palette (Mule パレット)]​ ビューから、​[HTTP]​ を選択して ​[Listener]​ ソースをキャンバスにドラッグします。

  2. 使用する環境に応じて HTTP リスナーを設定します。

  3. [Mule Palette (Mule パレット)]​ ビューから、​[Veeva Vault]​ を選択して ​[Query]​ 操作をキャンバスにドラッグします。

  4. Veeva Vault 接続の次の値を入力します。

    • Username (ユーザー名)

    • Password (パスワード)

    • Vault URL

    • Vault version (Vault バージョン)

    • Vault client ID (Vault クライアント ID)

  5. ビジネス要件に従って VQL クエリを定義します。

  6. VQL クエリで使用する場合は、入力プレースホルダーを追加して、実行時に VQL で動的に組み込みます。

  7. [Mule Palette (Mule パレット)]​ ビューから ​[Core (コア)]​ を選択して ​[For Each]​ スコープを次の要素が含まれるキャンバスにドラッグします。

    1. [Mule Palette (Mule パレット)]​ ビューから、​[Core (コア)]​ を選択して ​[Transform Message]​ コンポーネントをキャンバスにドラッグします。

    2. [Mule Palette (Mule パレット)]​ ビューから、​[File (ファイル)]​ を選択して ​[Write]​ 操作をキャンバスにドラッグします。

  8. ビジネス要件に従って、DataWeave を使用して変換を設定します。

  9. 作業ファイルのパスを使用して、File Connector を設定します。

  10. 指定したファイルにペイロードデータを書き込むように ​Write​ 操作を設定します。

  11. [Mule Palette (Mule パレット)]​ ビューから ​[Core (コア)]​ を選択して ​[Set Payload]​ トランスフォーマーをキャンバスにドラッグし、トリガーソースに返すペイロードを設定します。

  12. [Mule Palette (Mule パレット)]​ ビューから ​[Core (コア)]​ を選択して ​[Logger]​ コンポーネントをキャンバスにドラッグし、コンソールまたはログファイルに情報を記録します。

例の XML

この例のフローをすばやく Mule アプリケーションに読み込むには、次のコードを Studio XML エディターに貼り付けます。

Spark メッセージを検証する

この例では、Veeva Vault の Spark メッセージをトリガーし、Spark メッセージを検証します。

次のスクリーンショットは、この例の Studio アプリケーションフローを示しています。

Spark Validator 操作の Mule フロー

  1. [Mule Palette (Mule パレット)]​ ビューから、​[HTTP]​ を選択して ​[Listener]​ ソースをキャンバスにドラッグします。

  2. HTTP Connector 用の JKS 証明書には、Veeva Vault との TLS 接続を介して Spark メッセージを受信するための HTTP リスナー用の ​.jks​ ファイルが必要です。
    次の手順は、​<JDK_HOME>/bin​ ディレクトリにある Java Keytool を使用して ​.jks​ ファイルを作成する方法を示しています。

  3. <JDK_HOME>/bin​ ディレクトリから次のコマンドを実行します。

    ​`keytool -genkey -keyalg RSA -alias mule -keystore spark-listener.jks -storepass password -validity 360 -keysize 2048`
    これにより、現在のディレクトリに ​`spark-listener.jks`​ ファイルが作成されます。
  4. src/main/resources​ プロジェクトディレクトリの ​spark-listener.jks​ ファイルをコピーしてインポートします。

  5. HTTP リスナーを次のように設定します。

    1. [General (一般)]​ タブで、次のように設定します。

      • Protocol (プロトコル): HTTPS

      • Host (ホスト): 0.0.0.0

      • Port (ポート): 8082

    2. [TLS]​ タブで、次のように設定します。

      • Type (種別): JKS

      • Path (パス): spark-listener.jks

      • Alias (別名): mule

      • Key Password (キーパスワード): password

      • Password (パスワード): password

  6. [Mule Palette (Mule パレット)]​ ビューから、​[Veeva Vault]​ を選択して ​[Spark Validator]​ 操作をキャンバスにドラッグします。

  7. Veeva Vault 接続の次の値を入力します。

    • Username (ユーザー名)

    • Password (パスワード)

    • Vault URL

    • Vault version (Vault バージョン)

    • Vault client ID (Vault クライアント ID)

  8. Spark Validator​ パラメーターを次のように設定します。

    • Include Spark Header (Spark ヘッダーを含める): FALSE

    • Public Key Path (公開キーのパス): ${file.keyPath}
      公開キーファイル (00001.pem) の保存場所へのパスを使用して、​configuration.yaml​ の ​file.keyPath​ プロパティを定義します。

    • Spark Headers (Spark ヘッダー): #[attributes.headers]

    • Spark Message (Spark メッセージ): #[payload]

  9. [Mule Palette (Mule パレット)]​ ビューから ​[Core (コア)]​ を選択して ​[Set Payload]​ 操作をキャンバスにドラッグし、​[Value (値)]​ 項目で次のように定義します。

    ----
    output application/json --- {
    	"payload" : payload,
    	"attributes": attributes
    }
    ----
  10. [Mule Palette (Mule パレット)]​ ビューから、​[Core (コア)]​ を選択して ​[Logger]​ コンポーネントをキャンバスにドラッグし、次のメッセージを使用してペイロードを記録します。

    	Spark Message :: #[payload]

例の XML

この例のフローをすばやく Mule アプリケーションに読み込むには、次のコードを Studio XML エディターに貼り付けます。

<flow name="spark-message-validator-operationFlow" >
    <http:listener doc:name="Listener" config-ref="Spark_Listener" path="/"/>
    <veevavault:spark-message-validator doc:name="Spark Validator" config-ref="Veeva_Vault_Config" publicKeyPath="${file.keyPath}" includeSparkHeader="TRUE"/>
    <set-payload value='#[output application/json --- {
			"payload" : payload,
			"attributes": attributes
		}]' doc:name="Set Payload" />
    <logger level="INFO" doc:name="Logger" message="Spark Message :: #[payload]"/>
</flow>
xml

REST API を呼び出して単一ドキュメントを作成する

この例では、REST API を呼び出して、単一ドキュメントを作成します。

次のスクリーンショットは、この例の Studio アプリケーションフローを示しています。

Invoke REST API 操作の Mule フロー

Veeva Vault REST API を呼び出すには、要件に従ってパラメーターを設定する必要があります。
  1. [Mule Palette (Mule パレット)]​ ビューから、​[HTTP]​ を選択して ​[Listener]​ ソースをキャンバスにドラッグします。

  2. 使用する環境に応じて HTTP リスナーを設定します。

  3. [Mule Palette (Mule パレット)]​ ビューから、​[File (ファイル)]​ を選択して ​[Read]​ 操作をキャンバスにドラッグし、Veeva Vault ドキュメントに関連付けられたファイルのコンテンツから読み取るようにファイルパスを設定します。

  4. [Mule Palette (Mule パレット)]​ ビューから、​[Veeva Vault]​ を選択して ​[Invoke REST API]​ 操作をキャンバスにドラッグします。

  5. Veeva Vault 接続の次の値を入力します。

    • Username (ユーザー名)

    • Password (パスワード)

    • Vault URL

    • Vault version (Vault バージョン)

    • Vault client ID (Vault クライアント ID)

  6. POST 要求を設定します。

    Method: POST,
    Path: "/objects/documents",
    Headers:
    	Key: "Accept"
    	Value: "application/json"
    	Key: "Content-Type"
    	Value: "multipart/form-data; boundary=abcdefg"
    URI Parameters: Leave it empty.
    Query Parameters: Leave it empty.
  7. PUT 要求を設定します。

    Method: PUT,
    Path: "/objects/documents/{doc_id}",
    Headers:
    	Key: "Accept"
    	Value: "application/json"
    	Key: "Content-Type"
    	Value: "application/x-www-form-urlencoded"
    URI Parameters:
    	Key: "doc_id"
    	Value: "259592"
    Query Parameters: Leave it empty.
    %dw 2.0
    output application/x-www-form-urlencoded
    ---
    {
    	"id": "259592",
    	"name__v": "Kick-off Meeting Material Updated",
    	"product__v": "00P000000000403",
    	"study__v": "0ST000000000202",
    	"notes__v": "Notes Updated"
    }
  8. [Mule Palette (Mule パレット)]​ ビューから、​[Core (コア)]​ を選択して ​[Logger]​ コンポーネントをキャンバスにドラッグし、次のメッセージを使用してペイロードを記録します。

    	Invoke Veeva API response :: #[payload]

例の XML

この例のフローをすばやく Mule アプリケーションに読み込むには、次のコードを Studio XML エディターに貼り付けます。

テンプレート

次のユースケースでは、Exchange テンプレートを使用できます。