チュートリアル: LabVIEW Webサービスを作成してアプリケーションWebサーバにパブリッシュする (Real-Time、Windows)
- 更新日2025-08-27
- 18分で読める
LabVIEW Webサービスを作成およびパブリッシュし、Webクライアント (この場合はWebブラウザ) とデータを交換するには、以下の手順に従ってください。
このチュートリアルには以下のセクションが含まれます。
Webサービスを作成する
LabVIEWプロジェクトでWebサービスを作成するには、Webサービスを構成するVIおよびその他のファイルをグループにまとめて構成します。Webサービスプロジェクトと2つのHTTPメソッドVIを作成するには、以下の手順に従ってください。
- LabVIEWプロジェクトを作成し、Webサービスファイルを整理します。プロジェクトをTutorial.lvprojという名前で保存します。
-
マイコンピュータを右クリックし、新規»Webサービスの順に選択します。Webサービスのプロジェクト項目とフォルダが、ターゲットの下に追加されます。メモ
- このチュートリアルでは、Webサービスを作成して、ホストコンピュータにパブリッシュします。LabVIEWプロジェクトのRTターゲットの下にWebサービスプロジェクトを作成することにより、WebサービスをReal-Timeターゲットにパブリッシュすることもできます。
- (Windows) WindowsコンピュータでWebサービスをホストするには、NI Webサーバの使用が推奨されています。詳しい手順については、チュートリアル: LabVIEW Webサービスを作成してWebサーバにパブリッシュする (Real-Time、Windows)を参照してください。
- Webサービスプロジェクト項目
を右クリックし、名前の変更を選択して、WebサービスにTutorialServiceという名前を付けます。プロジェクトは次のように表示されます。
-
Webリソースを右クリックし、新規VIを選択して、新しいHTTPメソッドVIを作成します。これはクライアントからHTTP要求を受信し、データをクライアントに返すVIです。テンプレートから新規のVIを開きます。メモ デフォルトでは、HTTPメソッドVIはコネクタペーンを介してデータをクライアントに返します。このチュートリアルでは、HTTPメソッドVIはデフォルトのJSON形式のテキスト応答を返します。このチュートリアル外でHTTPメソッドVIを作成する場合、カスタマイズされたHTMLページや画像データなどのカスタム形式を使用して。データをクライアントにストリームすることもできます。WebサービスプロパティダイアログボックスのHTTPメソッドVI設定ページで出力形式タイプを構成します。
- 以下の図に示すように、この新しいVIで、ブロックダイアグラム、フロントパネル、コネクタペーンを作成します。このVIをWebサービスの一環としてパブリッシュすると、WebクライアントはHTTP要求を送信してこのVIを呼び出すことができます。VIを呼び出すと、以下の動作が行われます。
ブロックダイアグラム フロントパネル コネクタペーン 


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

プロジェクトツリーでは、以下の特徴に注意してください。
- LabVIEWでは、HTTPメソッドVIの名前ごとに、HTTP要求タイプが追加されます (デフォルトではGETが追加されます)。クライアントが特定のHTTPメソッドVIに送信するHTTP要求のタイプを変更する方法は、このチュートリアルの後半で学習します。
- Webサービスのプロジェクト項目
にも、スタートアップVIフォルダが含まれています。このチュートリアルではスタートアップVIは使用しませんが、チュートリアルの最後に詳細情報が記載されています。
関連情報
Webサービスをテストおよびデバッグする
Webサービスをターゲットにパブリッシュする前に、HTTPメソッドVIが予想どおりにクライアントと通信することをテストしたい場合があります。LabVIEWプロジェクトからデバッグサーバ上に直接Webサービスを配置して、クライアントがHTTPメソッドVIに要求を送信できるようにすることができます。デバッグサーバでは、サンドボックスと似た環境が得られます。
- (Windows) マイ コンピュータの下にあるWebサービスプロジェクト項目
を右クリックし、アプリケーションWebサーバ→開始 (デバッグサーバ)を選択します。(Real-Time) RTターゲットの下にあるWebサービスプロジェクト項目
を右クリックし、開始 (デバッグサーバ) を選択します。 -
Add.viを開きます。実行ボタンは、このVIが実行のために予約されていることを示します。
これは、LabVIEWがWebサービスをロードし、クライアントと通信できるように、デバッグサーバでこれを利用できるようにするためです。 - Add.viを閉じます。
- 以下の手順に従って、クライアントがAdd.viを呼び出すために使用するURLを取得します。
- Add.viを右クリックし、メソッドURLを表示を選択すると、HTTPメソッドURLダイアログボックスが表示されます。
- 利用可能なサーバプルダウンメニューで、ローカルデバッグが含まれる項目を選択し、URLをコピーボタンをクリックします。サービスをWebサーバにパブリッシュした場合、クライアントは別のポートのデバッグサーバでWebサービスと通信する必要があります。
- ダイアログボックスを閉じます。メモ HTTPメソッドURLダイアログボックスが開いていると、Webサービスはクライアントからの要求に応答しません。
- 手順4のURLを標準のWebブラウザに貼り付け、{値}変数をhttp://127.0.0.1:8001/TutorialService/Add?b=2&a=3のように数値で置き換えます。
- URLを参照します。Add.viはブラウザからHTTP要求を受信し、aとbの値の和を計算して、Add.viのコネクタペインに割り当てられた各表示器の名前と出力値入りの応答を返します。このチュートリアルでは、応答はJSON文字列で、デフォルトの端子出力形式です。Add.viには、コネクタペインに割り当てられたcおよびvalueの2つの表示器があり、HTTPメソッドVIはこの値を応答に返します。
{"c":5,"value":"b=2&a=3"}
メモ 予期しない動作が発生したら、Webサービスファイルを編集する前にデバッグセッションを停止してください。実行のためにLabVIEWによって予約されている間は、これらのファイルを編集することができません。 - Subtract.viでも手順4と5を繰り返すか、または手順5のURLを更新して、Subtract.viの固有のURLマッピングがhttp://127.0.0.1:8001/TutorialService/AdditionalOperations/Subtract?b=2&a=3に反映されるようにします。
- Subtract.viでも手順6を繰り返します。
- (Windows) Webサービスのプロジェクト項目を右クリックし、アプリケーションWebサーバ→停止 (デバッグサーバ) を選択します。(Real-Time) Webサービスプロジェクト項目を右クリックし、停止 (デバッグサーバ) を選択します。
関連情報
クライアントでのWebサービスへのアクセス方法を構成する
WebクライアントはURLを使用してHTTPメソッドVIとデータを交換します。このチュートリアルの後半で、Webブラウザに特定のURLを入力し、HTTPメソッドVIのコネクタペインの制御器に直接データを送信します。
以下の手順に従って、クライアントがHTTPメソッドVIにアクセスする際に使用できるURLを定義します。
- Webサービスプロジェクト項目
を右クリックし、プロパティを選択すると、Webサービスプロパティダイアログボックスが表示されます。 - HTTPメソッドVI設定ページで、LabVIEWプロジェクトのWebリソースフォルダのHTTPメソッドVIが、WebサービスVIの表に表示されていることに注意してください。さらに、Subtract.viをAdditionalOperationsプロジェクト項目の下に置いたことで、URLマッピングがAdd.viと比べてどのように変化したかを確認してください。
- 表で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がウェブクライアントに出力データを返す形式や、権限などのセキュリティ設定を構成することができます。 - OKをクリックして、Webサービスプロパティダイアログボックスを閉じます。
- Tutorial.lvprojを保存します。
関連情報
WebサービスをアプリケーションWebサーバにパブリッシュする
作成したWebサービスをアプリケーションWebサーバにパブリッシュできます。このチュートリアルでは、スタンドアロンWebサービスをパブリッシュしますが、より複雑なアプリケーションでは、LabVIEWスタンドアロンアプリケーションまたはインストーラを使用してWebサービスをパブリッシュする場合があります。アプリケーションWebサーバはネットワーク上のWebサービスをホストし、ネットワークデータ交換を保護するSSL (Secure Sockets Layer) などの複数のセキュリティ関連機能を提供します。
Webサービスをローカルコンピュータで実行されているアプリケーションサーバにパブリッシュするには、以下の手順に従ってください。
- Webサービスのプロジェクト項目を右クリックし、アプリケーションWebサーバ»パブリッシュを選択します。デプロイメント進行状況ダイアログボックスが表示されます。
- エラーなしでWebサービスがパブリッシュされたら、閉じるボタンをクリックします。これにより、Webクライアントは、HTTPメソッドVIを使用してデータを交換できるようになりました。
関連情報
クライアントでWebサービスにアクセスする
URLを使用して、WebブラウザからパブリッシュされたWebサービスにデータを送信するには、以下の手順に従ってください。
- Add.viを右クリックし、メソッドURLを表示を選択すると、HTTPメソッドURLダイアログボックスが表示されます。
- 利用可能なサーバプルダウンメニューで、アプリケーションが含まれる項目を選択し、URLをコピーボタンをクリックします。URLにはデバッグサーバのURLとは異なるポート番号が含まれています。LabVIEWはこのポート番号を使用して、アプリケーションWebサーバで実行されているWebサービスファイルと通信します。
- ダイアログボックスを閉じます。
- このURLを標準のWebブラウザに貼り付け、{値}変数をhttp://127.0.0.1:8080/TutorialService/Add?b=2&a=3のように数値で置き換えます。メモ クライアントがWebサービスをパブリッシュしたシステムと異なるシステムにある場合、127.0.0.1をホストシステムの実際のIPアドレスに置き換える必要があります。
- コネクタペインに割り当てられた各表示器からの出力値を持つJSON応答が返されます。
関連情報
Webサービスを監視する
アプリケーションWebサーバにパブリッシュされたWebサービスのステータスを確認するには、以下の手順に従ってください。
- Webサービスのプロジェクト項目を右クリックし、アプリケーションWebサーバ»Webサーバを管理を選択します。NI Web-based Configuration & MonitoringがWebブラウザに表示されます。
- 左側のサイドバーのWebサービス管理ボタン
をクリックします。 - パブリッシュされたWebサービス一覧でTutorialServiceを選択します。この一覧が空の場合は、更新ボタンをクリックします。
- Webサービスのステータスが実行中であることに注意してください。Webサービスを一時停止、再開、再起動、パブリッシュ解除するには、ページ下のボタンを使用します。
- ページの右側に、HTTPメソッドVIのURLマッピングのAddおよびAdditionalOperations/Subtractが、実行されるHTTPメソッドと一緒に表示されます。
その他のガイドとヘルプ
- WebクライアントからLabVIEWアプリケーションと通信する
- 概要: LabVIEWアプリケーションとのWebベースの通信―LabVIEW Webサービスの全体的概要
- スタンドアロンアプリケーションでWebサービスをパブリッシュする―LabVIEWスタンドアロンアプリケーションにWebサービス含めて、アプリケーションを実行したときにWebサービスが実行されるようにします。
- インストーラでWebサービスをパブリッシュする―WindowsインストーラにWebサービス含めて、インストールプロセスが終了したときにWebサービスが実行されるようにします。
- HTTPメソッドVIを作成するまたはHTTPメソッドVIを初期化して通信を行うスタートアップVIを作成する—より複雑なHTTPメソッド、およびWebサービスアプリケーションの一部として実行されるが、Webクライアントとのデータの交換はしないスタートアップVIを作成します。
- スタティックコンテンツをWebサービスに統合する—HTMLページや画像などのスタティックコンテンツをWebサービスと一緒にパブリッシュします。
サンプルコード
Webサービスを使用したサンプルは、以下のLabVIEWプロジェクトを参照してください。
- examples\Connectivity\Web Services\Weather Monitor\Web Services — Weather Monitor.lvproj