LabVIEW测试和调试Web服务

简介: LabVIEW测试和调试Web服务

LabVIEW测试和调试Web服务


发布Web服务至终端前,需要测试HTTP方法VI是否按照预期与客户端进行通信。可直接从LabVIEW项目将Web服务置于调试服务器上,从而允许客户端发送请求至HTTP方法VI。调试服务器提供类似沙盒的环境。


1. (Windows) 右键单击我的电脑下的Web服务项目项,选择应用程序Web服务器»开始(调试服务器)。


(Real-Time) 右键单击RT终端下的Web服务项目项,选择开始(调试服务器)。


2. 打开Add.vi。注意运行按钮表示VI保留为执行,因为LabVIEW加载Web服务,使其可在调试服务器上与客户端通信。


3. 关闭Add.vi。


4. 按照下列步骤,获取客户端调用Add.vi使用的URL:


右键单击Add.vi并选择显示方法URL,显示HTTP方法URL对话框。


在可用服务器下拉菜单中,选择包含本地调试的项,然后单击复制URL按钮。如将服务发布至Web服务器,客户端必须通过其他端口与调试服务器上的Web服务进行通信。


关闭对话框。


如HTTP方法URL对话框打开,则Web服务不响应客户端的任何请求。


5. 将复制得到的URL在浏览器中打开,用实际值替换{值}变量。例如,http://127.0.0.1:8001/TutorialService/Add?b=2&a=3


6. 浏览URL。Add.vi接收到浏览器的HTTP请求,计算a和b的值,并返回响应,包括分配给Add.vi连线板每个显示控件的名称和输出值。本教程中的响应格式为JSON字符串,即接线端的默认输出格式。注意Add.vi有两个分配至连线板的显示控件:c和值。HTTP方法VI在响应中返回这两个值。


{"c":5,"value":"b=2&a=3"}


如发生不可预期事件,编辑Web服务文件前必须停止调试会话,因为LabVIEW保留文件为执行时无法对其进行编辑。


7. 在Subtract.vi上重复执行第4-5步。也可直接更改第5步中的URL,获得Subtract.vi唯一对应的URL映射:http://127.0.0.1:8001/TutorialService/AdditionalOperations/Subtract?b=2&a=3


8. 对Subtract.vi重复第6步。


9. (Windows)右键单击Web服务项目项并选择应用程序Web服务器»停止(调试服务器)。


(Real-Time)右键单击Web服务项目项并选择停止(调试服务器)。


配置客户端访问Web服务的方式


Web客户端通过URL与HTTP方法VI交换数据。后续教程中,将在Web浏览器中输入特定的URL,直接发送数据至HTTP方法VI连线板上的输入控件。


根据下列步骤,定义客户端可用于方法HTTP方法VI的URL:


1. 右键单击Web服务项目项并选择属性,显示Web服务属性对话框。


2. 在HTTP方法VI设置页,注意LabVIEW项目中Web资源文件夹的HTTP方法VI出现在Web服务VI表格中。同时,与Add.vi相比,注意在AdditionalOperations项目项中放置Subtract.vi的方式如何影响URL映射。


3. 在表格中选择Subtract.vi,注意页面底部URL映射选项卡的下列功能:


可在方法下拉菜单中改变HTTP请求的类型。设置Subtract.vi为默认值GET。


可选择禁用LabVIEW用于映射URL至VI的标准格式,自定义显示在服务名称后的URL部分。本教程使用标准URL映射并包含VI名称。


URL栏显示了LabVIEW为HTTP方法VI创建的基本URL。例如,LabVIEW为Subtract.vi创建的默认URL映射为/AdditionalOperations/Subtract。


在更为复杂的Web服务中,可能需要使用该页的其他选项卡配置VI返回输出数据至Web客户端的格式,以及访问权限等安全设置。


4. 单击确定,关闭Web服务属性对话框。


5. 保存Tutorial.lvproj。


发布Web服务至应用程序Web服务器


可将创建的Web服务发布至应用程序Web服务器。在该教程中,您将发布一个独立的Web服务。在更为复杂的应用中,可能需要通过LabVIEW独立应用程序或安装程序发布Web服务。应用程序Web服务器托管Web服务,并提供多种措施以保证网络数据交换的安全性,包括SSL加密。


(Windows)也可将Web服务发布至NI Web服务器。详细信息请参考教程:创建LabVIEW Web服务并将其发布到NI Web服务器。


按照下列步骤,将Web服务发布至运行在本地计算机上的应用程序Web服务器:


1. 右键单击Web服务项目项并选择应用程序Web服务器»发布。此时将显示部署进度对话框。


2. 如LabVIEW成功发布Web服务,单击关闭按钮。Web客户端现可与HTTP方法VI交换数据。


发布Web服务


为Web服务设置应用程序Web服务器


从客户端访问Web服务


按照下列步骤,通过URL从Web浏览器发送数据至发布的Web服务:


1. 右键单击Add.vi并选择显示方法URL,显示HTTP方法URL对话框。


2. 在可用服务器下拉菜单中,选择包含应用程序的项,然后单击复制URL按钮。该URL包含一个与调试服务器URL不同的端口号。LabVIEW使用该端口号与应用程序Web服务器上的Web服务进行通信。


3. 关闭对话框。


4. 复制URL至标准Web浏览器并用数值替换{value}变量,如http://127.0.0.1:8080/TutorialService/Add?b=2&a=3


如客户端与发布的Web服务不在同一个系统上,必须将127.0.0.1替换为托管主机的实际IP地址或主机名称。可在NI Web-based Configuration &Monitoring中自定义主机名称。


5. 浏览器返回JSON响应,包括分配给连线板每个显示控件的输出值。


通过URL发送数据至已部署的应用程序


监控Web服务


按照下列步骤,检查发布至应用程序Web服务器的Web服务状态:


1. 右键单击Web服务项目项并选择应用程序Web服务器»管理Web服务器。NI基于Web的配置和监控在Web浏览器中打开。


2. 单击窗口左侧的Web服务管理按钮。


3. 在已部署的Web服务列表中选择TutorialService。如列表为空,单击刷新按钮。


4. 注意Web服务的状态为运行。使用页面底部的按钮暂停、恢复、重新启动和取消部署Web服务。


5. 在页面右侧,可看到两个HTTP方法VI的URL映射:Add、AdditionalOperations/Subtract,分别对应于相关的HTTP方法。

相关文章
|
19天前
|
XML JSON 数据安全/隐私保护
Web服务
【10月更文挑战第18天】Web服务
41 9
|
19天前
|
XML JSON 安全
Web服务是通过标准化的通信协议和数据格式
【10月更文挑战第18天】Web服务是通过标准化的通信协议和数据格式
141 69
|
1天前
|
Go UED
Go Web服务中如何优雅平滑重启?
在生产环境中,服务升级时如何确保不中断当前请求并应用新代码是一个挑战。本文介绍了如何使用 Go 语言的 `endless` 包实现服务的优雅重启,确保在不停止服务的情况下完成无缝升级。通过示例代码和测试步骤,详细展示了 `endless` 包的工作原理和实际应用。
15 3
|
1天前
|
JSON Java 测试技术
SpringCloud2023实战之接口服务测试工具SpringBootTest
SpringBootTest同时集成了JUnit Jupiter、AssertJ、Hamcrest测试辅助库,使得更容易编写但愿测试代码。
22 3
|
2天前
|
JSON Go UED
Go Web服务中如何优雅关机?
在构建 Web 服务时,优雅关机是一个关键的技术点,它确保服务关闭时所有正在处理的请求都能顺利完成。本文通过一个简单的 Go 语言示例,展示了如何使用 Gin 框架实现优雅关机。通过捕获系统信号和使用 `http.Server` 的 `Shutdown` 方法,我们可以在服务关闭前等待所有请求处理完毕,从而提升用户体验,避免数据丢失或不一致。
7 1
|
8天前
|
XML 安全 PHP
PHP与SOAP Web服务开发:基础与进阶教程
本文介绍了PHP与SOAP Web服务的基础和进阶知识,涵盖SOAP的基本概念、PHP中的SoapServer和SoapClient类的使用方法,以及服务端和客户端的开发示例。此外,还探讨了安全性、性能优化等高级主题,帮助开发者掌握更高效的Web服务开发技巧。
|
19天前
|
XML JSON 安全
定义Web服务
【10月更文挑战第18天】定义Web服务
49 12
|
5天前
|
Web App开发 测试技术 数据安全/隐私保护
自动化测试的魔法:使用Python进行Web应用测试
【10月更文挑战第32天】本文将带你走进自动化测试的世界,通过Python和Selenium库的力量,展示如何轻松对Web应用进行自动化测试。我们将一起探索编写简单而强大的测试脚本的秘诀,并理解如何利用这些脚本来确保我们的软件质量。无论你是测试新手还是希望提升自动化测试技能的开发者,这篇文章都将为你打开一扇门,让你看到自动化测试不仅可行,而且充满乐趣。
|
8天前
|
Web App开发 设计模式 JavaScript
自动化测试之美:如何利用Selenium实现Web应用的高效测试
【10月更文挑战第29天】在软件开发的世界中,测试是确保产品质量的关键步骤。本文将带你了解如何使用Selenium这一强大的自动化测试工具,提高Web应用测试的效率和准确性。通过实际案例,我们将探索Selenium的核心功能及其在现代软件开发中的应用,旨在帮助读者掌握自动化测试的精髓,从而提升软件测试工作的整体效能。
|
26天前
|
XML 关系型数据库 MySQL
Web Services 服务 是不是过时了?创建 Web Services 服务实例
本文讨论了WebServices(基于SOAP协议)与WebAPI(基于RESTful)在开发中的应用,回顾了WebServices的历史特点,比较了两者在技术栈、轻量化和适用场景的差异,并分享了使用VB.net开发WebServices的具体配置步骤和疑问。
18 0
下一篇
无影云桌面