製品をチェック

製品の情報と無償トライアル:

JSON 連携ソリューション

データ連携でお困りですか?

お問い合わせ

CData BizTalk Adapter for JSON の受信場所(Receive Location)を設定


CData BizTalk Adapter for JSON を使用して、BizTalk のJSON データを取得します。受信場所を使用して、JSON でSQL コマンドを実行してアクションを自動化します。


json ロゴ画像
biztalk ロゴ画像

Biztalk ロゴ画像

この記事では、JSON データに接続し、静的な単方向の受信場所を設定する方法を紹介します。さらにこの受信場所を使用してJSON データを取得し、XML ファイルに書き込むという簡単なテストを実行していきます。

受信場所はSQL コマンドを実行し、その結果を含むBizTalk メッセージを作成することができます。アップデートグラムコマンドを実行したい場合は、送信ポートを使用してください。

受信ポートを作成する

アプリケーションに受信場所を追加するには、まず受信ポートを追加する必要があります。受信ポートは複数の受信場所からのデータを受け取ることができます。

  1. 未実行の場合、BizTalk Administration Console でアプリケーションを開きます。
  2. アプリケーションを開いたら、「Receive Ports」を右クリックし、「New」 -> 「Static One-Way Receive Port」と進みます。受信ポートプロパティのダイアログが表示されます。
  3. 「Name」メニューで、受信ポートの名前を入力します。
Receive Port configuration.

受信場所を作成する

受信ポートの作成後、受信場所を作成し、トランスポートタイプとしてSalesforce アダプタを使用するように設定します。

  1. 「Receive Locations」を右クリックし、「New」 -> 「One-Way Receive Location」と進みます。
  2. 新しい受信場所がメンバとなる適切な受信ポートを選択します。受信場所プロパティのダイアログが表示されます。
  3. 「Name」メニューで、受信場所の名前を入力します。
  4. 受信場所のプロパティの、「Transport Type」メニュー内でCData.JSON を選択します。
  5. 「Receive Pipeline」メニューで、デフォルトオプションの「PassThruReceive」を選択します。
Receive Location properties for the adapter.(Salesforce is shown.)

アダプタを設定する

「Transport Properties」ダイアログで、アダプタが実行するコマンドを定義します。

  1. 受信場所のプロパティで、「Configure」をクリックします。アダプタの「Transport Properties」ダイアログが表示されます。
  2. 「SQL Command」プロパティで、コマンドを入力します。この例では、SELECT [people].[personal.age] AS age, [people].[personal.gender] AS gender, [people].[personal.name.first] AS first_name, [people].[personal.name.last] AS last_name, [vehicles].[model], FROM [people] JOIN [vehicles] ON [people].[_id] = [vehicles].[people_id]を使用します。
使用可能なアダプタ構成プロパティについては、「Adapter Configuration」のチャプターを参照してください。 Adapter properties dialog.(Salesforce is shown.)

接続文字列を構成する

Connection String Options ダイアログで、資格情報とその他の接続プロパティを設定します。

  1. 受信場所のプロパティで、「Configure」をクリックします。アダプタのプロパティダイアログが表示されます。
  2. 「Connection String」プロパティのボタンをクリックします。
  3. 「Connection String」プロパティのボックスをクリックします。「Connection String Options」ダイアログが表示されます。
  4. 接続プロパティを入力します。以下は一般的な接続文字列です。 URI=C:/people.json;DataModel=Relational;

    データソースへの認証については、ヘルプドキュメントの「はじめに」を参照してください。本製品は、JSON API を双方向データベーステーブルとして、JSON ファイルを読み取り専用ビュー(ローカル ファイル、一般的なクラウドサービスに保存されているファイル、FTP サーバー)としてモデル化します。HTTP Basic、Digest、NTLM、OAuth、FTP などの主要な認証スキームがサポートされています。詳細はヘルプドキュメントの「はじめに」を参照してください。

    URI を設定して認証値を入力したら、DataModel を設定してデータ表現とデータ構造をより厳密に一致させます。

    DataModel プロパティは、データをどのようにテーブルに表現するかを制御するプロパティで、次の基本設定を切り替えます。

    • Document(デフォルト):JSON データのトップレベルのドキュメントビューをモデル化します。本製品 は、ネストされたオブジェクト配列を集約されたJSON オブジェクトとして返します。
    • FlattenedDocuments:ネストされた配列オブジェクトと親オブジェクトを、単一テーブルに暗黙的に結合します。
    • Relational:階層データから個々の関連テーブルを返します。テーブルには、親ドキュメントにリンクする主キーと外部キーが含まれています。

    リレーショナル表現の設定についての詳細は、ヘルプドキュメントの「JSON データのモデリング」を参照してください。また、以下の例で使用されているサンプルデータも確認できます。データには人や所有する車、それらの車に行われたさまざまなメンテナンスサービスのエントリが含まれています。

    Amazon S3 内のJSON への接続

    URI をバケット内のJSON ドキュメントに設定します。さらに、次のプロパティを設定して認証します。

    • AWSAccessKey:AWS アクセスキー(username)に設定。
    • AWSSecretKey:AWS シークレットキーに設定。

    Box 内のJSON への接続

    URI をJSON ファイルへのパスに設定します。Box へ認証するには、OAuth 認証標準を使います。 認証方法については、Box への接続 を参照してください。

    Dropbox 内のJSON への接続

    URI をJSON ファイルへのパスに設定します。Dropbox へ認証するには、OAuth 認証標準を使います。 認証方法については、Dropbox への接続 を参照してください。ユーザーアカウントまたはサービスアカウントで認証できます。ユーザーアカウントフローでは、以下の接続文字列で示すように、ユーザー資格情報の接続プロパティを設定する必要はありません。 URI=dropbox://folder1/file.json; InitiateOAuth=GETANDREFRESH; OAuthClientId=oauthclientid1; OAuthClientSecret=oauthcliensecret1; CallbackUrl=http://localhost:12345;

    SharePoint Online SOAP 内のJSON への接続

    URI をJSON ファイルを含むドキュメントライブラリに設定します。認証するには、User、Password、およびStorageBaseURL を設定します。

    SharePoint Online REST 内のJSON への接続

    URI をJSON ファイルを含むドキュメントライブラリに設定します。StorageBaseURL は任意です。指定しない場合、ドライバーはルートドライブで動作します。 認証するには、OAuth 認証標準を使用します。

    FTP 内のJSON への接続

    URI をJSON ファイルへのパスが付いたサーバーのアドレスに設定します。認証するには、User およびPassword を設定します。

    Google Drive 内のJSON への接続

    デスクトップアプリケーションからのGoogle への認証には、InitiateOAuth をGETANDREFRESH に設定して、接続してください。詳細はドキュメントの「Google Drive への接続」を参照してください。

  5. 「Test Connection」をクリックして値を確認し、接続を確認します。

プロパティとその機能についての説明は、ヘルプドキュメントを参照してください。

Credentials and other connection properties used to connect to the data source.(Salesforce is shown.)

送信ポートを使用して、XML ファイルにデータを書き込む

これまでの操作で、静的な単方向の受信場所を送信ポートとともに使うことができるようになります。送信ポートは、受信場所で作成されるBizTalk メッセージと関連付けられていなければなりません。ファイルにデータを書き込むために、ファイル送信ポートを作成します。

  1. 「BizTalk Administration」コンソールで右クリックし、「Send Ports」 -> 「New」 -> 「Static One-Way Send Port」と進みます。
  2. 構成ウィンドウの最初で送信ポートの名前を入力し、「Type」メニューから「FILE」を選択します。

    Send Port configuration.(Salesforce is shown.)
  3. 宛先フォルダを設定します。これは、ディスク上にファイルが作成される場所になります。
  4. ファイル名にマクロを使用すれば、ファイルの作成日を簡単に識別できます。デフォルトでは、%MessageId%.xml が使用されます。これはランダムに生成されたBizTalk Id であり、ユーザーフレンドリーな命名ではありません。 people_yyyy-MM-dd.xml の形式でファイルを作成するには、people_%Date%.xml と入力します。

    Noteマクロの詳細については、ヘルプドキュメントの「BizTalk Configuration」のセクションを参照してください。

    Destination folder configuration.(Salesforce is shown.)
  5. 「OK」をクリックします。URI フィールドに値が含まれるはずです。
  6. 送信ポートの、構成画面の左側にある「Filters」をクリックします。
  7. 次のプロパティを設定します。
    プロパティ:メニューから、「BTS.InboundTransportLocation」を選択します。
    オペレーター:メニューから、「==」を選択します。
    :受信場所のURI を入力します。受信場所のプロパティに、URI が表示されます。
Filters specified for the send port.A receive location that executes a SELECT command is specified.(Salesforce is shown.)

送信ポートを使用して、受信場所から送信されたファイルを書き込むことができます。

ロケーションとポートをエンリストして有効にする

最後に、送信ポートをエンリストし、受信場所を有効にします。送信ポートを右クリックし、「Enlist」をクリックします。次に、受信場所を右クリックし、「Enable」をクリックします。

Note最後に受信場所を有効にすることで、送信ポートによって、ファイルが書き込み用として確実にピックアップされます。

トラブルシューティング

エラーが発生しているかどうかを確認するには、「Administration Console」のナビゲーションツリーで「Event Viewer (Local)」を展開します。Windows ログを展開し、「Applications」をクリックします。

ログにはシステム上のすべてのアプリケーションのエラ-メッセージが含まれるため、エラーメッセージのソースが「CData BizTalk JSON Receive Adapter」であることを確認することが必要です。エラーメッセージの詳細から、エラーの理由を知ることができます。エラー解消のガイダンスについては、support@cdata.co.jpにお問い合わせください。