WPF的web引用
前言:项目需要是通过PLc获取数据后上传SAP系统,所以需要用到web引用,期间使用的是WPF,所以写一篇文章记录下来。
1.新建WPF(基于.NET Framework)
注意:不要建立使用.NET Core的,因为很多都不兼容,之前在这里踩坑太多了,不建议用,因为不支持web引用。
2.按步骤,在项目中创建web引用
项目–> 添加服务引用 --> 高级 --> web引用
3.根据提供的web接口url,输入url,创建web引用。
4.实例化web引用后,发送数据。
注意:生成的引用类,需要结合这个接口的对接数据进行对应的参数输入等,需要自己摸索。
//1、账密信息
com.hitevision.sapd02.ZPP_MATNR_CZ service = new com.hitevision.sapd02.ZPP_MATNR_CZ(); //引用的服务
service.Credentials = new NetworkCredential("账号", "密码");
//2、输入的参数数组
List<com.hitevision.sapd02.ZsppMatnrCz> list = new List<com.hitevision.sapd02.ZsppMatnrCz>();
List<com.hitevision.sapd02.ZsppMatnrReturn> list2 = new List<com.hitevision.sapd02.ZsppMatnrReturn>();
for (var i = 0; i < 1; i++)
{
DateTime dt = DateTime.Now;
com.hitevision.sapd02.ZsppMatnrCz zspp = new com.hitevision.sapd02.ZsppMatnrCz();
zspp.Brgew = weight.Text;
zspp.Czpid = productID.Text;
zspp.Zdate = DateTime.Now.ToString("yyyy-MM-dd").Replace("-", "");
zspp.Ztime = DateTime.Now.ToString("HH:mm:ss").Replace(":", "");
list.Add(zspp); // 添加数据
com.hitevision.sapd02.ZsppMatnrReturn zspp2 = new com.hitevision.sapd02.ZsppMatnrReturn();
zspp2.Message = "";
zspp2.Type = "";
list2.Add(zspp2); // 添加数据
}
//4、传参实体
com.hitevision.sapd02.ZppMatnrCz param = new com.hitevision.sapd02.ZppMatnrCz();
param.ItItems = list.ToArray(); // 传参
param.ItReturn = list2.ToArray(); // 传参
//5、调用接口
var a = service.ZppMatnrCz(param); // 接收soap协议返回的数据
总结:
引用完web服务后,需要分析接口信息,根据接口信息编写对接代码,最后根据返回数据进行数据的判断。