方法一
- 创建一个.NET Framework项目,并添加服务引用
- 把项目Connected Services\ServiceReference1文件夹下Reference.cs文件拷贝到.net5程序下,并用nuget添加System.ServiceModel.Http.dll
- 添加调用程序
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;
}
方法二
- 修改程序目标框架.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;
}