Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ServiceNow-获取所有记录_C#_.net_C# 4.0_Servicenow - Fatal编程技术网

C# ServiceNow-获取所有记录

C# ServiceNow-获取所有记录,c#,.net,c#-4.0,servicenow,C#,.net,C# 4.0,Servicenow,在中,在SOAP请求中,我最多只能获得250条记录。如何获取所有记录 Web Reference Url = https://*****.service-now.com/rm_story.do?WSDL 代码: 在recordResults中,我只得到250条记录。如何获取所有记录?是否尝试通过/覆盖\u limit参数 另请参阅此堆栈溢出答案,其中提供了相关信息。 请注意,返回大量记录可能会影响响应的性能,使用偏移量(即获取1-100,然后获取101-200,…)成批处理查询可能更有效。这

在中,在
SOAP
请求中,我最多只能获得250条记录。如何获取所有记录

Web Reference Url = https://*****.service-now.com/rm_story.do?WSDL
代码:


recordResults
中,我只得到250条记录。如何获取所有记录?

是否尝试通过/覆盖
\u limit
参数


另请参阅此堆栈溢出答案,其中提供了相关信息。

请注意,返回大量记录可能会影响响应的性能,使用偏移量(即获取1-100,然后获取101-200,…)成批处理查询可能更有效。这可以通过使用排序顺序和偏移量来实现。ServiceNow REST表API实际上从Get请求返回链接头,为您提供第一组、下一组和最后一组记录的链接,从而使您很容易知道查询下一批记录的url

见:
然后在“响应头”下查看。

在代码段中的第行,它说//filter您应该定义uu limit(以及可能的u first_row和u last_row,如下面的示例所述)


var url=“https://*****.service now.com/rm_story.do?__limit=700&SOAP”;这是增加限额的正确方法吗?如果没有,如何在
SOAP
请求中添加限制?谢谢。参数必须在请求体中传递,如:state=7300请参阅完整的HTTP请求示例,网址为:
            var url = "https://*****.service-now.com/rm_story.do?SOAP";
            var userName = *****;
            var password = *****;

            var proxy = new ServiceNow_rm_story
            {
                Url = url,
                Credentials = new NetworkCredential(userName, password)
            };

            try
            {
                var objRecord = new Namespace.WebReference.getRecords
                {
                    // filters..
                };

                var recordResults = proxy.getRecords(objRecord);
            }
            catch (Exception ex)
            {

            }
int Skip = 0;
int Take = 250;
while (true)
{
     using (var soapClient = new ServiceNowLocations.ServiceNow_cmn_location())
     {
          var cred = new System.Net.NetworkCredential(_user, _pass);
          soapClient.Credentials = cred;
          soapClient.Url = _apiUrl + "cmn_location.do?SOAP";

          var getParams = new ServiceNowLocations.getRecords() 
          { 
                __first_row = Skip.ToString(), 
                __last_row = (Skip + Take).ToString(), 
                __limit = Take.ToString() 
          };

          var records = soapClient.getRecords(getParams);

          if (records != null)
          {
               if (records.Count() == 0)
               {
                   break;
               }  

               Skip += records.Count();                      

               if (records.Count() != Take)
               {
                    // last batch or everything in first batch
                    break;
               }                
          }
          else
          {
               // service now web service endpoint not configured correctly
               break;
          }
     }
}