我正在尝试使用 SOAP API 从营销云下载订阅者,并在几次迭代后引发以下异常。它不会一直失败。有时它完成 50 次迭代并失败,有时它在 5 或 10 次迭代后失败。这是我用来发出检索请求的代码:public List<Subscriber> GetSubscribers(string RequestId = null) { string message = string.Empty; _lstSubscribers = new List<Subscriber>(); SoapClient client = new SoapClient(); client.ClientCredentials.UserName.UserName = _username; client.ClientCredentials.UserName.Password = _password; RetrieveRequest retrieveRequest = new RetrieveRequest(); retrieveRequest.ObjectType = "Subscriber"; string[] props = { "Client.ID", "CreatedDate", "EmailAddress", "EmailTypePreference", "ID", "PartnerKey", "SubscriberKey", "UnsubscribedDate" }; retrieveRequest.Properties = props; retrieveRequest.ClientIDs = new ClientID[] { _clientID }; //retrieveRequest.QueryAllAccounts = true; //retrieveRequest.QueryAllAccountsSpecified = true; String requestId = RequestId; String response = string.Empty; int tryCount = 0; try { RunRetrieveRequest(client, out requestId, out response, retrieveRequest); } catch (Exception ex) { if (response == "MoreDataAvailable") { tryCount++; if (tryCount <= 10) { } retrieveRequest.ContinueRequest = requestId; RunRetrieveRequest(client, out requestId, out response, retrieveRequest); } } return _lstSubscribers; }这是配置。我尝试将超时属性从 30 更改为 59,但这没有帮助。我将不胜感激任何帮助或建议。提前致谢。
1 回答

跃然一笑
TA贡献1826条经验 获得超6个赞
我已经能够解决此问题并发布答案,因为它可能会帮助其他遇到类似问题的人。Salesforce 营销云 API(SOAP 和 REST)已停止支持默认的 TLS 1.0 协议。因此,在向 API 发送任何请求之前,我需要添加以下代码。
System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12 | System.Net.SecurityProtocolType.Tls11 | System.Net.SecurityProtocolType.Tls;
以下链接对此有更多解释的见解。
WCF 错误“这可能是由于在 HTTPS 情况下未使用 HTTP.SYS 正确配置服务器证书”
- 1 回答
- 0 关注
- 109 浏览
添加回答
举报
0/150
提交
取消