Я написал следующий код в c # .net, чтобы получить подробную информацию о билете из servicenow, используя предоставленную мне службу SOAP.Но ответ, который я получаю, всегда нулевой.URL WSDL: https://domainname.service -now /ident.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 всегда равна нулю.
Это не проблема с правами доступа, так как я использовал другую ссылку на службу в той же программе для создания заявки на инцидент с использованием u_incident_creation.do WSDL, который возвращает ответ вставки правильно.
Примечание:1. Я внес необходимые изменения в конфигурационный файл приложения для обеспечения безопасности.2. Я внес необходимые изменения в сервис сейчас, как указано в указанной ссылке: https://docs.servicenow.com/bundle/jakarta-application-development/page/integrate/examples/task/t_ConfigureCSharpWith.NET.html3. Служба SOAP возвращает значения путем передачи параметра sys_id, если используется через мастер расширений chrome (с использованием тех же учетных данных).