Невозможно получить <результат>, если используется "Sforce-Enable-PKChunking:true"
Я могу создать задание и batch.to получить данные в пакетном режиме, я использую "Sforce-Enable-PKChunking:true" в заголовке. Каким-то образом он не дает мне идентификатор результата (теги xml не генерируются) для получения фактического данные. У меня большой набор данных. У меня 1 миллион записей, вот код
public string GetResultID(string jobID,string batchID)
{
string ResultId = null;
XmlDocument reqDoc = new XmlDocument();
String batchURL = "https://xxxx/async/42.0/job/" + jobID + "/batch/" + batchID + "/result";
XmlDocument responseXmlDocument = myHttpPostResult(batchURL, sid, "GET", "text/csv; charset=UTF-8");
ResultId = responseXmlDocument.GetElementsByTagName("result").Item(0).InnerText;
return ResultId;
}
Метод myHttpPostResult
Метод ниже возвращает XML без тега результата. Я хочу получить идентификатор результата, который находится в теге результата. этот идентификатор я использовал для получения большого количества данных.
public static XmlDocument myHttpPostResult(String reqURL, string sessionId, string method, string contentType)
{
XmlDocument responseXmlDocument = new XmlDocument();
WebRequest requestHttp = WebRequest.Create(reqURL);
requestHttp.Method = method;
requestHttp.ContentType = contentType;
requestHttp.Headers.Add(("X-SFDC-Session: " + sessionId));
requestHttp.Headers.Add(("Sforce-Enable-PKChunking:true"));
requestHttp.Headers.Add("SOAPAction", "query");
using (WebResponse responseHttpRequest = requestHttp.GetResponse())
{
Stream responseStream = responseHttpRequest.GetResponseStream();
responseXmlDocument.Load(responseStream);
}
return responseXmlDocument;
}