private async Task ROSASTradeAsync(SoapDocument soapDocument) { string message = string.Empty; string xmlStr = soapDocument.Args.FirstOrDefault(o => o.LocalName == "serviceParas")?.Value; try { var xmlServiceParas = XmlConvert.DeserializeObject <HebeiESBServiceParas>(xmlStr); if (xmlServiceParas == null || xmlServiceParas.ProvinceData.Count() == 0) { throw new Exception("解析serviceParas失败"); } bool isSuccess = true; var ftpConfig = AppSettings.FtpSection.FirstOrDefault(o => o.Provider == "HebeiESB"); foreach (var p in xmlServiceParas.ProvinceData) { if (string.IsNullOrWhiteSpace(p.Path)) { continue; } var success = await FtpUtil.Download(new FtpConfig { Host = p.Ip, UserName = p.User, Password = p.Password, Port = 21, RemotePath = p.Path, BaseDirectory = ftpConfig.BaseDirectory, LocalDirectory = ftpConfig.LocalDirectory, RenameFormat = ftpConfig.RenameFormat, CategoryMaps = ftpConfig.CategoryMaps }); isSuccess &= success; string successString = success ? "成功" : "失败"; message += string.Format($"下载{successString}:ftp://{p.User}:{p.Password}@{p.Ip}{p.Path}", p, successString); } if (!isSuccess) { await ErrorRequestAsync(null, message); } else { await SuccessRequestAsync(null, message : message); } } catch (Exception ex) { Logger.Error($"[HBESBService]ROSASTrade异常:--{ex.Message}", ex); await ErrorRequestAsync(null, ex.Message); } }