我在c#.net中编写了以下代码,以使用公开给我的SOAP服务从servicenow获取有关票证的详细信息。但是我得到的响应始终为空。
WSDL网址:https://domainname.service-now/incident.do?WSDL
代码:
private static void readSnowTicket()
{
// Create incident in servicenow
Ticket_Status.SNOW.ServiceNowSoapClient soapClient = new Ticket_Status.SNOW.ServiceNowSoapClient();
soapClient.ClientCredentials.UserName.UserName = ConfigurationManager.AppSettings["SNOWUsername"].ToString();
soapClient.ClientCredentials.UserName.Password = ConfigurationManager.AppSettings["SNOWPassword"].ToString();
try
{
SNOW.getRecords getRec = new SNOW.getRecords();
getRec.sys_id = "3xxx9299xxx42b005x93xx9xxx9619b3";
var outputresult = soapClient.getRecords(getRec);
//insertresponse = soapClient.insert(insert);
Console.WriteLine("Success");
}
catch (Exception ErrorInsertingIncident)
{
Console.WriteLine("Error - " + ErrorInsertingIncident.Message);
}
}
我创建了一个名为“ SNOW”的服务引用。 outputresult变量始终为null。
这不是权限问题,因为我在同一程序中使用了另一个服务引用来使用u_incident_creation.do WSDL创建事件凭单,该WSDL将正确返回插入响应。
注意:
1。为了安全起见,我已经在应用程序的配置文件中进行了必要的更改。
2。我已经对服务进行了必要的更改,如所提到的链接所述:https://docs.servicenow.com/bundle/jakarta-application-development/page/integrate/examples/task/t_ConfigureCSharpWith.NET.html
3。如果通过chrome扩展向导(使用相同的凭据)使用,则SOAP服务通过传递sys_id参数来返回值。