C# WPF 基于soap的web引用

WPF的web引用

前言:项目需要是通过PLc获取数据后上传SAP系统,所以需要用到web引用,期间使用的是WPF,所以写一篇文章记录下来。

1.新建WPF(基于.NET Framework)

注意:不要建立使用.NET Core的,因为很多都不兼容,之前在这里踩坑太多了,不建议用,因为不支持web引用。

C# WPF 基于soap的web引用_第1张图片

2.按步骤,在项目中创建web引用

项目–> 添加服务引用 --> 高级 --> web引用

C# WPF 基于soap的web引用_第2张图片
C# WPF 基于soap的web引用_第3张图片

3.根据提供的web接口url,输入url,创建web引用。

C# WPF 基于soap的web引用_第4张图片

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服务后,需要分析接口信息,根据接口信息编写对接代码,最后根据返回数据进行数据的判断。

你可能感兴趣的:(soap,c#,wpf)