【发布时间】:2016-02-04 12:32:59
【问题描述】:
我创建了以下测试应用程序来从 Service Now 检索数据。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.ComponentModel;
namespace ServiceNowConnection
{
class Program
{
static void Main(string[] args)
{
Service_Now_Reference.getRecords records = new Service_Now_Reference.getRecords();
records.sys_user = "XXXXXXX";
Service_Now_Reference.ServiceNowSoapClient proxyUser = new Service_Now_Reference.ServiceNowSoapClient();
proxyUser.ClientCredentials.UserName.UserName = "XXXXXX";
proxyUser.ClientCredentials.UserName.Password = "XXXXXX";
Service_Now_Reference.getRecordsResponseGetRecordsResult[] result = proxyUser.getRecords(records);
foreach (var item in result)
{
Console.WriteLine(item.sys_created_by);
}
Console.ReadLine();
}
}
}
这可以正确连接到 service now 应用程序,没有错误,但是当我尝试打印检索到的数据时,它给了我键而不是字符串类型的答案。
对于某些属性,它会给出正确的值(例如 sys_updated_by)
我怎样才能避免这种情况。
【问题讨论】:
-
您好 Sandaru,您能提供更多详细信息吗?您正在向具体的 URL 发出请求吗? HTTP 请求是什么样的?您是否从 WSDL 生成了 ServiceNowSoapClient?
-
是的,我正在使用 WSDL。网址是XXXXXXXX.service-now.com/…
-
谢谢,仍然可以使用更多信息来确定,但我猜更新您从中提取 WSDL 的 URL 以包含“displayvalue=all”(请参阅:wiki.servicenow.com/…)会有所帮助。如果您可以捕获您的 C# 应用程序发送的示例 HTTP 请求并将其包含在此处的问题中,这也会有所帮助。如果您这样做,请确保删除标题中的所有凭据。
-
谢谢我在你解释的同时发现了错误。这正是需要做的事情。您能否将其评论为答案。
标签: c# web-services servicenow