.Net5调用WebService

方法一

  1. 创建一个.NET Framework项目,并添加服务引用
    在这里插入图片描述
    在这里插入图片描述
  2. 把项目Connected Services\ServiceReference1文件夹下Reference.cs文件拷贝到.net5程序下,并用nuget添加System.ServiceModel.Http.dll
    在这里插入图片描述
    在这里插入图片描述
  3. 添加调用程序
try
{
    BasicHttpBinding binding = new BasicHttpBinding();

	EndpointAddress address = new EndpointAddress("http://localhost/MainService.asmx");
	WindowsFormsApp1.ServiceReference1.MainServiceSoapClient client2 = new WindowsFormsApp1.ServiceReference1.MainServiceSoapClient(binding, address);
	

    WindowsFormsApp1.ServiceReference1.AsnHeader asnHeader = new WindowsFormsApp1.ServiceReference1.AsnHeader();
    asnHeader.OrganizationID = "1";
    asnHeader.WarehouseId = "1";
    List<WindowsFormsApp1.ServiceReference1.AsnDetail> list = new List<WindowsFormsApp1.ServiceReference1.AsnDetail>();
    WindowsFormsApp1.ServiceReference1.AsnDetail details = new WindowsFormsApp1.ServiceReference1.AsnDetail();
    details.AsnNo = "1";
    details.TraceId = "1";

    list.Add(details);
    asnHeader.Details = list.ToArray();

    WindowsFormsApp1.ServiceReference1.Message a = client2.postAsnData(asnHeader);
}
catch (Exception ex)
{
    string a = ex.Message;
}

方法二

  1. 修改程序目标框架.net5项目为.net core 3.1

在这里插入图片描述
2. 添加服务引用,点击Microsoft WCF Web Service Reference提供程序,生成连接后再修改目标框架为.net 5
在这里插入图片描述
3. 调用服务

try
{
    ServiceReference1.AsnHeader asnHeader = new ServiceReference1.AsnHeader();
    asnHeader.OrganizationID = "1";
    asnHeader.WarehouseId = "1";
    List<ServiceReference1.AsnDetail> list = new List<ServiceReference1.AsnDetail>();
    ServiceReference1.AsnDetail details = new ServiceReference1.AsnDetail();
    details.AsnNo = "1";
    details.TraceId = "1";

    list.Add(details);
    asnHeader.Details = list.ToArray();

    ServiceReference1.MainServiceSoapClient mainService = new ServiceReference1.MainServiceSoapClient(ServiceReference1.MainServiceSoapClient.EndpointConfiguration.MainServiceSoap);
    System.Threading.Tasks.Task<ServiceReference1.postAsnDataResponse> task = mainService.postAsnDataAsync(asnHeader);
    task.Wait();
    ServiceReference1.Message m = task.Result.Body.postAsnDataResult;
}
catch (Exception ex)
{
    string a = ex.Message;
}

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:深蓝海洋 设计师:CSDN官方博客 返回首页
评论

打赏作者

趙妏斌

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值