public MailingService CreateMailingService() { if (String.IsNullOrEmpty(this.MessageStudioApiUrl)) throw new ConfigurationErrorsException("The MessageStudio API URL is not present in the configuration file"); ServicePointManager.ServerCertificateValidationCallback = new System.Net.Security.RemoteCertificateValidationCallback((o, cert, chain, sslerr) => { return true; }); var svc = new MailingService(this.MessageStudioApiUrl); UsernameToken userToken = new UsernameToken(this.UserName, this.Password, PasswordOption.SendPlainText); SoapContext ctx = svc.RequestSoapContext; ctx.Security.Tokens.Add(userToken); svc.Pipeline.OutputFilters.Insert(0, new InjectOrganizationInWsseSecurity("ATTI")); svc.RequestEncoding = System.Text.Encoding.UTF8; return svc; }
private void RecursiveForEach(MailingService svc, int depth, Organization o, IEnumerable<Organization> orgs, Action<MailingService, int, Organization> action) { Assert.IsNotNull(o); action(svc, depth, o); foreach (var child in orgs.TakeChildrenOf(o)) { RecursiveForEach(svc, depth + 1, child, orgs, action); } }