チュートリアル: LabVIEWウェブサービスアプリケーションを作成または使用する(Real-Time、Windows)



LabVIEW 2018ヘルプ


発行年月: 2018年3月
製品番号: 371361R-0112
製品情報を参照

ダウンロード (Windowsのみ)


LabVIEW 2016ヘルプ
LabVIEW 2017ヘルプ
LabVIEW 2018ヘルプ
LabVIEW 2019ヘルプ
LabVIEW 2020ヘルプ

親トピック: 概要: LabVIEWアプリケーションとのウェブベースの通信

LabVIEWウェブサービスを作成およびパブリッシュし、ウェブクライアント(この場合はウェブブラウザ)とデータを交換するには、以下の手順に従ってください。

メモ  このトピックの概念に関する詳細については、ウェブサービスの紹介およびウェブサービスのコンポーネントの説明を参照してください。LabVIEWウェブサービスは、LabVIEW開発システムおよびLabVIEWプロフェッショナル開発システムでのみ使用可能です。

このチュートリアルには以下のセクションが含まれます。

  1. ウェブサービスを作成する
  2. ウェブサービスをテストおよびデバッグする
  3. クライアントでのウェブサービスの呼び出し方法を構成する
  4. ウェブサービスをウェブサーバにパブリッシュする
  5. クライアントでウェブサービスにアクセスする
  6. ウェブサービスを監視する

ウェブサービスを作成する

LabVIEWプロジェクトでウェブサービスを作成するには、ウェブサービスを構成するVIおよびその他のファイルをグループにまとめて構成します。ウェブサービスプロジェクトと2つのHTTPメソッドVIを作成するには、以下の手順に従ってください。

  1. LabVIEWプロジェクトを作成し、ウェブサービスファイルを整理します。プロジェクトをTutorial.lvprojという名前で保存します。
  2. マイコンピュータを右クリックし、新規→ウェブサービスの順に選択します。ウェブサービスのプロジェクト項目とフォルダが、ターゲットの下に追加されます。
    メモ メモ  このチュートリアルでは、ウェブサービスを作成して、ホストコンピュータにパブリッシュします。このチュートリアル以外でウェブサービスを作成する場合は、ウェブサービスをRTターゲットにパブリッシュすることもできます。ウェブサービスプロジェクト項目は、プロジェクトのRTターゲットの下に作成できます。
  3. ウェブサービスプロジェクト項目を右クリックし、名前の変更を選択して、ウェブサービスにTutorialServiceという名前を付けます。プロジェクトは次のように表示されます。

  4. ウェブリソースを右クリックし、新規VIを選択して、新しいHTTPメソッドVIを作成します。これはクライアントからHTTP要求を受信し、データをクライアントに返すVIです。テンプレートから新規のVIを開きます。
    メモ メモ  デフォルトでは、HTTPメソッドVIはコネクタペーンを介してデータをクライアントに返します。このチュートリアルでは、HTTPメソッドVIにこのデフォルトの出力タイプを使用します。このチュートリアル外でHTTPメソッドVIを作成する場合、カスタマイズされたHTMLページや画像データなどのカスタム形式を使用して。データをクライアントにストリーミングすることもできます。ウェブサービスプロパティダイアログボックスのHTTPメソッドVI設定ページで出力形式タイプを構成します。
  5. 以下の図に示すように、この新しいVIで、ブロックダイアグラム、フロントパネル、コネクタペーンを作成します。

    ブロックダイアグラム フロントパネル コネクタペーン

    このVIをウェブサービスの一環としてパブリッシュすると、ウェブクライアントはHTTP要求を送信してこのVIを呼び出すことができます。VIを呼び出すと、以下の動作が行われます。
    • コネクタペインに割り当てられた制御器の値をクライアントが行ったHTTP要求から受け取ります(LabVIEWウェブサービス要求を除く)。LabVIEWウェブサービス要求は、現在のHTTP要求を識別することにより、Refnumのような機能を果たします。
    • abの和を計算します。
    • コネクタペインに割り当てられたc表示器を通じて、これらの値の和をクライアントに返します。
    • 「要求変数を読み取る」VIを実行し、クライアントが現在のHTTP要求に追加した、LabVIEWウェブサービス要求を識別するクエリ文字列を返します。
      ヒント ヒント  より複雑なウェブサービスでは、ウェブサービスパレットで他のVIを使用して、HTTPセッション、認証、HTTPヘッダ、クッキーなどの機能を有効にすることができます。
  6. 制御器と表示器がそれぞれコネクタペインに表示されることに注意してください。デフォルトの端子出力タイプでは、ウェブサービスがクライアントからデータを受信したり、クライアントにデータを送信したりするには、HTTPメソッドVIのコネクタペインに割り当てられた入力と出力を使用しなければなりません。
    ヒント ヒント  各オブジェクトに分かりやすい名前を付けます。これらの名前は、VIとデータを交換するためにウェブクライアントが使用するURLの一部として使用されます。
  7. VIをAdd.viという名前で保存します。
  8. ファイル→別名で保存を選択し、保存ダイアログでコピー→元のファイルもコピーも開くを選択します。コピーをTutorial.lvprojへ追加チェックボックスがオンになっていることを確認し、継続をクリックします。
  9. 新しいコピーをSubtract.viの名前で保存します。
  10. Subtract.viのブロックダイアグラムを開き、「和」関数を「差」関数で置き換えます。制御器と表示器を再配線します。
  11. プロジェクトに戻り、ウェブリソースを右クリックして、新規ウェブリソースを選択します。新規プロジェクト項目AdditionalOperationsの名前を変更します。
  12. AdditionalOperationsプロジェクト項目の下にSubtract.viをドラッグします。プロジェクトを保存すると、以下の図のように表示されます。

プロジェクトツリーでは、以下の特徴に注意してください。

  • LabVIEWでは、HTTPメソッドVIの名前ごとに、HTTP要求タイプが追加されます(デフォルトではGETが追加されます)。クライアントが特定のHTTPメソッドVIに送信するHTTP要求のタイプを変更する方法は、このチュートリアルの後半で学習します。
  • ウェブサービスのプロジェクト項目にも、 スタートアップVIフォルダが含まれています。このチュートリアルではスタートアップVIは使用しませんが、チュートリアルの最後に詳細情報が記載されています。

関連情報

ウェブサービスのコンポーネント

制御器と表示器を端子に割り当てる

HTTPメソッドVIを作成する: 出力データの形式を選択する

HTTPヘッダ、ストリーミング、バッファを構成する

LabVIEWでプロジェクトを管理する

ウェブサービスをテストおよびデバッグする

ウェブサービスをターゲットにパブリッシュする前に、HTTPメソッドVIが予想どおりにクライアントと通信することをテストしたい場合があります。LabVIEWプロジェクトからデバッグサーバ上に直接ウェブサービスを配置して、クライアントがHTTPメソッドVIに要求を送信できるようにすることができます。デバッグサーバでは、サンドボックスと似た環境が得られます。

  1. ウェブサービスのプロジェクト項目を右クリックし、開始を選択します。
  2. Add.viを開きます。実行ボタンは、このVIが実行のために予約されていることを示します。これは、LabVIEWがウェブサービスを実行し、クライアントと通信できるように、デバッグサーバでこれを利用できるようにするためです。
  3. Add.viを閉じます。
  4. 以下の手順に従って、クライアントがAdd.viを呼び出すために使用する必要があるURLを取得します。
    1. Add.viを右クリックし、メソッドURLを表示を選択すると、HTTPメソッドURLダイアログボックスが表示されます。
    2. 利用可能なサーバドロップダウンメニューで、ローカルデバッグが含まれる項目を選択し、URLをコピーボタンをクリックします。サービスをウェブサーバにパブリッシュした場合、クライアントは別のポートのデバッグサーバでウェブサービスと通信する必要があります。
    3. ダイアログボックスを閉じます。
  5. 手順4のURLを標準のウェブブラウザに貼り付け、{値}変数をhttp://127.0.0.1:8001/TutorialService/Add?b=2&a=3のように数値で置き換えます。
  6. URLを参照します。Add.viはブラウザからHTTP要求を受信し、abの値の和を計算して、Add.viのコネクタペインに割り当てられた各表示器の名前と出力値入りの応答を返します。このチュートリアルでは、応答はXML文字列で、デフォルトの端子出力形式です。Add.viには、コネクタペインに割り当てられたcおよびvalueの2つの表示器があり、HTTPメソッドVIはこの値を応答に返します。

<?xml version="1.0"?>

<Response>

<Terminal>

<Name>c</Name>

<Value>5</Value>

</Terminal>

<Terminal>

<Name>value</Name>

<Value>b=2&a=3</Value>

</Terminal>

</Response>

メモ メモ  予期しない動作が発生したら、ウェブサービスファイルを編集する前にデバッグセッションを停止してください。実行のためにLabVIEWによって予約されている間は、これらのファイルを編集することができません。ウェブサービスのプロジェクト項目を右クリックし、停止を選択します。
  1. Subtract.viでも手順4と5を繰り返すか、または手順5のURLを更新して、Subtract.viの固有のURLマッピングが http://127.0.0.1:8001/TutorialService/AdditionalOperations/Subtract?b=2&a=3に反映されるようにします。
  2. Subtract.viでも手順6を繰り返します。
  3. ウェブサービスのプロジェクト項目を右クリックし、停止を選択します。

関連情報

ウェブサービスをデバッグする

クライアントでのウェブサービスへのアクセス方法を構成する

ウェブクライアントはURLを使用してHTTPメソッドVIとデータを交換します。このチュートリアルの後半で、ウェブブラウザに特定のURLを入力し、HTTPメソッドVIのコネクタペインの制御器に直接データを送信します。

以下の手順に従って、クライアントがHTTPメソッドVIにアクセスする際に使用できるURLを定義します。

  1. ウェブサービスプロジェクト項目を右クリックし、プロパティを選択すると、ウェブサービスプロパティダイアログボックスが表示されます。
  2. HTTPメソッドVI設定ページで、LabVIEWプロジェクトのウェブリソースフォルダのHTTPメソッドVIが、ウェブサービスVIの表に表示されていることに注意してください。さらに、Subtract.viAdditionalOperationsプロジェクト項目の下に置いたことで、URLマッピングがAdd.viと比べてどのように変化したかを確認してください。
  3. 表でSubtract.viを選択すると、ページのページの下部のURLマッピングタブに次の機能が表示されます。
    • メソッドメニューを使用すると、HTTP要求タイプを変更できます。Subtract.viでは、デフォルト値GETを使用します。
    • LabVIEWがURLをVIにマッピングする際に使用する標準形式を無効にして、サービス名の後に表示されるURLの一部をカスタマイズすることができます。このチュートリアルでは、標準のURLマッピングを使用し、VI名を追加します。
    • URLフィールドには、LabVIEWがHTTPメソッドVI用に作成した元のURLが表示されます。たとえば、Subtract.viの場合、LabVIEWで作成されるデフォルトのURLマッピングは/AdditionalOperations/Subtractになります。

    メモ メモ  より複雑なウェブサービスでは、このページの残りのタブを使用して、VIがウェブクライアントに出力データを返す形式や、権限などのセキュリティ設定を構成することができます。
  4. OKをクリックして、ウェブサービスプロパティダイアログボックスを閉じます。Tutorial.lvprojを保存します。

関連情報

ウェブサービスのURLマッピングとクエリ文字列について理解する

ウェブサービスをパブリッシュする

LabVIEWは、このチュートリアルで紹介したような、アプリケーションウェブサーバと呼ばれるスタンドアロンのウェブサービスをウェブサーバにパブリッシュしています。アプリケーションウェブサーバはネットワーク上のスタンドアロンのウェブサービスアプリケーションをホストし、ネットワークデータ交換を保護するSSL(Secure Sockets Layer)などの複数のセキュリティ関連機能を提供します。

メモ メモ  より複雑なアプリケーションでは、LabVIEWスタンドアロンアプリケーション、または実行ファイルと一緒にウェブサービスを配布することがあります。スタンドアロンアプリケーションでは、ウェブサービスが別のウェブサーバにパブリッシュされるため、このプロセスを完了する必要はありません。

ウェブサービスをローカルコンピュータで実行されているアプリケーションサーバにパブリッシュするには、以下の手順に従ってください。

  1. ウェブサービスのプロジェクト項目を右クリックし、アプリケーションウェブサーバ→パブリッシュを選択します。デプロイメント進行状況ダイアログボックスが表示されます。
  2. エラーなしでウェブサービスがパブリッシュされたら、閉じるボタンをクリックします。これで、ウェブクライアントで、前のセクションで実行したデバッグセッション中に、HTTPメソッドVIとデータを交換できるようになります。

関連情報

ウェブサービスをパブリッシュする

ウェブサービスのアプリケーションウェブサービスを有効にする

クライアントでウェブサービスにアクセスする

URLを使用して、ウェブブラウザからパブリッシュされたウェブサービスにデータを送信するには、以下の手順に従ってください。

  1. Add.viを右クリックし、メソッドURLを表示を選択すると、HTTPメソッドURLダイアログボックスが表示されます。
  2. 利用可能なサーバドロップダウンメニューで、アプリケーションが含まれる項目を選択し、URLをコピーボタンをクリックします。URLにはデバッグサーバのURLとは異なるポート番号が含まれています。このポート番号を使用して、アプリケーションウェブサーバで実行されているウェブサービスファイルと通信します。
  3. ダイアログボックスを閉じます。
  4. このURLを標準のウェブブラウザに貼り付け、{値}変数をhttp://127.0.0.1:8080/TutorialService/Add?b=2&a=3のように数値で置き換えます。
    メモ メモ  ウェブサービスがパブリッシュされている場所とは別のシステムにクライアントがある場合は、127.0.0.1をサービスがパブリッシュされているシステムの実際のIPアドレスと置き換える必要があります。
  5. コネクタペインに割り当てられた各表示器からの出力値を持つXML応答が返されます。

関連情報

URLを使用してデータをデプロイされたアプリケーションに送信する

ウェブサービスを監視する

アプリケーションウェブサーバにパブリッシュされたウェブサービスのステータスを確認するには、以下の手順に従ってください。

  1. ウェブサービスのプロジェクト項目を右クリックし、アプリケーションウェブサーバ→ウェブサーバを管理を選択します。NI Web-based Configuration & Monitoringがウェブブラウザに表示されます。
  2. 左側のサイドバーのウェブサービス管理ボタンをクリックします。
  3. パブリッシュされたウェブサービス一覧でTutorialServiceを選択します。この一覧が空の場合は、更新ボタンをクリックします。
  4. ウェブサービスのステータスが実行中であることに注意してください。ウェブサービスを一時停止、再開、再起動、パブリッシュ解除するには、ページ下のボタンを使用します。
  5. ページの右側に、HTTPメソッドVIのURLマッピングのAddおよびAdditionalOperations/Subtractが、実行されるHTTPメソッドと一緒に表示されます。

その他のガイドとヘルプ

サンプルコード

ウェブサービスを使用したサンプルは、以下のLabVIEWプロジェクトを参照してください。

  • examples\Connectivity\Web Services\Address Book\Web Services — Address Book.lvproj
  • examples\Connectivity\Web Services\Weather Monitor\Web Services — Weather Monitor.lvproj


この記事は役に立ちましたか。

役に立たなかった