在VS中制作一个HelloSoap类,将姓名参数传递给规则服务,并调用hello规则包,显示返回的欢迎辞。
新建C#工程
在VS中,新建一个名为HelloSoap的控制台应用程序的工程:
添加引用
将RuleEngine.dll添加到引用中。该文件一般位于VisualRulesSolution安装目录的samples\notnet\RuleEngine\bin\Release目录下:
添加服务引用
然后输入Soap服务所在的地址,在地址栏中输入http://192.168.19.128:8880/soap/services/RuleSoap?wsdl 。
点击“前往”后,可以看到规则服务提供的接口。
输入一个命名空间后,点击确认。
图3-1-2-5-4 添加服务引用
编写Program.cs
在此中输入三个类,RuleSoapFactory、RuleSoapService、Program,其中RuleSoapFactory、RuleSoapService是对规则调用接口的实现。其他程序都可以像Program操作的那样,调用规则包。:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using RuleEngine;
namespace HelloSoap
{
public class RuleSoapFactory : RuleServiceFactory
{
override public RuleService RuleService
{
get
{
return new RuleSoapService(this);
}
}
public RuleSoapFactory()
: base()
{
}
public virtual void close()
{
}
public virtual void forceClose()
{
this.close();
}
public virtual void open()
{
}
}
public class RuleSoapService : AbstractRuleService
{
private RuleSoapFactory Factory
{
get
{
return (RuleSoapFactory)factory;
}
}
public RuleSoapService(RuleSoapFactory factory)
: base(factory)
{
}
protected override System.String send(System.String xml)
{
try
{
HelloSoap.ServiceReference1.RuleSoapClient soap = new HelloSoap.ServiceReference1.RuleSoapClient();
return soap.getRule(xml);
}
catch (System.Exception e)
{
Factory.forceClose();
throw new RuleServiceException(e);
}
}
}
class Program
{
static void Main(string[] args)
{
RuleSoapFactory factory = new RuleSoapFactory();
RuleService service = factory.RuleService;
service.put("name", "测试Soap访问");
service.execute("hello");
Console.WriteLine(service.getString("welcome"));
Console.Read();
}
}
}
执行测试类
点击执行后,看到执行结果如下,说明已经调用规则包成功:
![点击查看原始大小图片](http://dl2.iteye.com/upload/attachment/0113/0860/d7d7fa33-dfc5-3159-b6c1-b4f1c3fa6bd8-thumb.jpg)
- 大小: 29.1 KB
![点击查看原始大小图片](http://dl2.iteye.com/upload/attachment/0113/0862/58941e82-fa30-361a-89c6-a494d3c83d57-thumb.jpg)
- 大小: 18.7 KB
![点击查看原始大小图片](http://dl2.iteye.com/upload/attachment/0113/0864/44055342-f250-31ea-a114-7fb385fddaf5-thumb.jpg)
- 大小: 46.5 KB
![点击查看原始大小图片](http://dl2.iteye.com/upload/attachment/0113/0872/4c656765-ac0c-32cf-ac3f-ad1c4c030122-thumb.jpg)
- 大小: 55.6 KB
![点击查看原始大小图片](http://dl2.iteye.com/upload/attachment/0113/0875/628747ad-192d-3beb-8f32-b90ec6e2dc2e-thumb.jpg)
- 大小: 60 KB
分享到:
相关推荐
VRS Edit 2.24版本是一款专为SEF机器人程序编写监控设计的软件工具。该软件的核心功能在于提供一个高效、便捷的环境,帮助程序员和自动化工程师更好地管理和优化他们的机器人程序。VRS Edit这个名字可能是“Virtual ...
DH-VRS16录音系统说明书 DH-VRS16录音系统是一款功能强大且灵活的电话录音解决方案,旨在提供高效、可靠的录音管理体验。该系统通过安装配套的录音系统软件在PC机上,用户可以轻松实现录音回放、录音查询、录音监控...
标题:VRS及其在矿山测量应用中关键技术分析 VRS(虚拟参考站)技术是GPS(全球定位系统)网络RTK(实时动态定位)技术的一种,具有传统测量技术和传统RTK技术无可比拟的优点。随着技术的日益成熟,VRS在矿山测量中...
### 基于VRS51L3074的LED显示屏控制系统 #### 1. 引言 本文主要介绍了如何利用VRS51L3074这款高性能的8051单片机来设计一种LED显示屏控制系统。VRS51L3074作为市场上首款内置铁电存储器(FRAM)的8051单片机,不仅...
《Script in C#——VRS维奥起点推荐Unity自学读物》是一本专注于Unity游戏引擎中C#编程的自学教程。Unity是全球广泛使用的跨平台游戏开发工具,它结合了强大的可视化编辑器和灵活的脚本系统,使得游戏开发者能够快速...
MTX 15VRS SPS-Interface 是一款由 Bosch Rexroth AG 开发的工业自动化设备接口,主要用于连接和通信MTX系列的PLC(可编程逻辑控制器)与SPS(Simulation and Programming Station,模拟和编程站)。该接口设计用于...
在GPS应用中,MC55模块可以通过串行接口接收来自VRS的RTCM数据流,这些数据有助于提高定位精度。 VRS(Virtual Reference Station)是一种差分GPS技术,通过结合多个GPS接收器的数据,模拟一个虚拟参考站,从而提供...
摘要论述了多点定闹电子日历钟系统的设计,在VRS51L3074单片机的控制下,使用串行时钟芯片DSl2887,实现时间和闹钟的设置功能。通过键盘和液晶显示提示,可以方便地校对时钟和设置闹钟,利用键盘、LCD显示模块构成
CORS与VRS参考站建设 PPT CORS与VRS参考站
VRS技术通过网络整合多个参考站的数据,为用户提供等同于近在咫尺的参考站效果,从而实现整个网络覆盖范围内的高精度定位。 该文介绍了基于VRS技术设计的一套RTK-GPS接收系统,目的是满足农业中对高精度定位数据的...
- 安装完成后,通过`import quartet_vrs`即可在Python程序中引入这个库,接着就可以调用其提供的函数或类。 4. **Python 后端开发**: - 在Python中,后端开发通常涉及服务器端逻辑、数据库交互、API设计等。这个...
VRS技术是天宝公司开发的一种网络RTK作业模式,通过在一定区域内设立多个基准站,接收卫星信号并将信息传送到数据处理中心。当移动站需要定位时,会先将自己的位置信息发送到中心,中心根据移动站的位置虚拟出一个...
力士乐数控系统MTX 15VRS NC Simulation Multitouch是一款先进的工业自动化解决方案,由全球知名工业技术供应商博世力士乐(Bosch Rexroth)开发。这款系统集成了先进的模拟和多点触控技术,专门用于数控(NC)应用...
5. **优势与应用**:基于区域网格划分的VRS技术,降低了系统复杂性,提高了定位速度和精度,尤其适用于需要实时高精度定位的场景,如自动驾驶、无人机导航、精准农业和地质灾害监测等领域。 综上所述,这个压缩包中...
VRS技术通过整合多个实际基准站的数据,虚拟出一个参考站,从而提供更稳定、高精度的位置服务。 1. VRS技术原理 VRS技术的核心是利用网络中的多个基准站接收卫星信号,然后在数据中心进行数据处理。移动站先将自己...