/// <summary> /// 返回结果解析 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="t"></param> /// <param name="resultList"></param> /// <returns></returns> private List <T> GetResultData <T>(T t, BasicResultDto resultList) { var result = new List <T>(); if (resultList != null && resultList.Msg.Any()) { foreach (var item in resultList.Msg) { string strData = item.ToString(); var itemData = JsonConvert.DeserializeObject <T>(strData); if (itemData != null) { result.Add(itemData); } } } return(result); }
public BasicResultDto HIS_InterfaceList(string tradeCode, string inputParameter) { //11008 var result = new BasicResultDto(); // 创建 HTTP 绑定对象与设置最大传输接受数量 var binding = new BasicHttpBinding { MaxReceivedMessageSize = 2147483647 }; // 根据 WebService 的 URL 构建终端点对象 //正式 var endpoint = new EndpointAddress(CommonHelp.GetWebServiceUrl()); // 创建调用接口的工厂,注意这里泛型只能传入接口 添加服务引用时生成的 webservice的接口 一般是 (XXXSoap) var factory = new ChannelFactory <WebServiceSoap>(binding, endpoint); // 从工厂获取具体的调用实例 var callClient = factory.CreateChannel(); //var paramIni = new ExecuteSPRequest(new ExecuteSPRequestBody() {param = param}); string resultData = callClient.HIS_Interface(tradeCode, inputParameter); if (!string.IsNullOrEmpty(resultData)) { var resultDto = JsonConvert.DeserializeObject <ResultDataDto>(resultData); if (resultDto.Result == "0") { throw new Exception(resultDto.Msg); } var basicResultDto = JsonConvert.DeserializeObject <BasicResultDto>(resultData); result = basicResultDto; return(result); } //异步执行一些任务 //return resultData.Body.ExecuteSPResult; //var account = JsonConvert.DeserializeObject<Account>(json); return(result); }
/// <summary> /// 通用接口 /// </summary> /// <param name="tradeCode"></param> /// <param name="inputParameter"></param> /// <param name=" operatorId"></param> /// <returns></returns> public async Task <BasicResultDto> HIS_InterfaceListAsync(string tradeCode, string inputParameter, string operatorId) { return(await Task.Run(async() => { //11008 var result = new BasicResultDto(); // 创建 HTTP 绑定对象与设置最大传输接受数量 var binding = new BasicHttpBinding { MaxReceivedMessageSize = 2147483647 }; // 根据 WebService 的 URL 构建终端点对象 var endpoint = new EndpointAddress("http://47.111.29.88:11013/WebService.asmx"); // 创建调用接口的工厂,注意这里泛型只能传入接口 添加服务引用时生成的 webservice的接口 一般是 (XXXSoap) var factory = new ChannelFactory <WebServiceSoap>(binding, endpoint); // 从工厂获取具体的调用实例 var callClient = factory.CreateChannel(); //var paramIni = new ExecuteSPRequest(new ExecuteSPRequestBody() {param = param}); string resultData = await callClient.HIS_InterfaceAsync(tradeCode, inputParameter); if (resultData != "" && resultData != null) { var resultDto = JsonConvert.DeserializeObject <ResultDataDto>(resultData); if (resultDto.Result == "0") { throw new Exception("[" + operatorId + "]" + resultDto.Msg); } var basicResultDto = JsonConvert.DeserializeObject <BasicResultDto>(resultData); result = basicResultDto; return result; } //异步执行一些任务 //return resultData.Body.ExecuteSPResult; //var account = JsonConvert.DeserializeObject<Account>(json); return result; })); }