我正在嘗試使用 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 關注
- 100 瀏覽
添加回答
舉報
0/150
提交
取消