一、服务端添加引用,SoapCore,版本是:1.1.0.10
二、创建DTO类
[DataContract] public class CallRequest { /* 接口规范为 (ip不为空的情况): {"YSYHID":"26036","YSXM":"曾礼特","PBID":"794961","BRBH":"00015501296380","ZKID":"42","FJID":"89","FJMC":"2号诊室","FZYYID":"1260503", "CHBZ":"0","JZRQ":"","ZSPIP":"192.168.1.100"} (ip为空的情况): {"YSYHID":"26036","YSXM":"曾礼特","PBID":"794961","BRBH":"00015501296380","ZKID":"42","FJID":"89","FJMC":"2号诊室","FZYYID":"1260503","CHBZ":"0","JZRQ":"","ZSPIP":""} */ /// <summary> /// 呼叫医生ID /// </summary> [DataMember] public string YSYHID { get; set; } /// <summary> /// 医生姓名 /// </summary> [DataMember] public string YSXM { get; set; } /// <summary> /// 排班id /// </summary> [DataMember] public string PBID { get; set; } /// <summary> /// 病人编号 /// </summary> [DataMember] public string BRBH { get; set; } /// <summary> /// 科室代码 /// </summary> [DataMember] public string ZKID { get; set; } /// <summary> /// 房间ID /// </summary> [DataMember] public string FJID { get; set; } /// <summary> /// 房间名称 /// </summary> [DataMember] public string FJMC { get; set; } /// <summary> /// 分诊预约ID /// </summary> [DataMember] public string FZYYID { get; set; } /// <summary> /// 重呼标记 /// </summary> [DataMember] public string CHBZ { get; set; } /// <summary> /// 就诊日期 /// </summary> [DataMember] public string JZRQ { get; set; } /// <summary> /// 诊室屏IP /// </summary> [DataMember] public string ZSPIP { get; set; } }
三、服务端创建接口,用于暴露,
[ServiceContract] public interface ICallRequestService { [OperationContract] CallRequest Call(CallRequest s); }
四、创建实现类,
public class CallRequestService : ICallRequestService { public CallRequest Call(CallRequest s) { return new CallRequest() { BRBH ="9999999999999" }; } }
五、注入服务
services.TryAddSingleton<ICallRequestService, CallRequestService>();
六、服务端添加中间件
var binging = new BasicHttpBinding(); binging.ReaderQuotas.MaxStringContentLength = int.MaxValue; app.UseSoapEndpoint<ICallRequestService>("/CallRequestService.asmx", binging, SoapSerializer.XmlSerializer);
七、创建客户端,使用mvc框架
八、添加webservice引用,一定要联网,不然无法配置,发现服务,添加服务
九、调用服务,并且返回结果
public async void OnGet() { ServiceReference1.CallRequestServiceClient callRequestServiceClient = new ServiceReference1.CallRequestServiceClient(); ServiceReference1.CallRequest callRequest = new ServiceReference1.CallRequest() { BRBH = "666666" }; var r =await callRequestServiceClient.CallAsync(callRequest); int a = 0; }