Services Web directs

  • Rversion finale: Xanadu
  • Mis à jour 1 août 2024
  • 3 minutes de lecture
  • Un service Web direct est disponible pour n’importe quelle table du système si la liste de contrôle d’accès correcte est configurée.

    Le format pris en charge pour le message entrant est les documents SOAP XML littéraux de style document (Document/Literal). Pour récupérer une description WSDL de service Web direct et un schéma XML, pointez vers l’URL relative <nomtable>.do ? WSDL. Par exemple, pour récupérer le WSDL pour la table Incident sur le système de démonstration en ligne, utilisez l’URL suivante : https://<nom d’instance>.service-now.com/incident.do?WSDL.

    Paramètres de requêtes étendues

    Les paramètres de requête étendus vous permettent de filtrer et de modifier les résultats renvoyés d’une requête SOAP lors de l’utilisation des fonctions get, getKeys et getRecords .
    Remarque :
    Les noms d’éléments de requête étendue sont précédés de deux traits de soulignement.
    Tableau 1. Paramètres de requêtes étendues disponibles
    Paramètre Description Exemple
    __encoded_query Spécifiez une chaîne de requête codée à utiliser pour filtrer les résultats renvoyés. Le format de la chaîne de requête codée est similaire à la valeur qui peut être spécifiée dans un paramètre d’URL sysparm_query . Voir l’exemple de création de requêtes codées dans les exemples de générateurs de flux RSS. <__encoded_query>active=true^category='hardware'</__encoded_query>
    __order_by Demander que les résultats renvoyés soient triés par le champ spécifié. <__order_by>priority</__order_by>
    __order_by_desc Indiquez que les résultats renvoyés doivent être triés par le champ spécifié, dans l’ordre décroissant. <__order_by_desc>opened_date</__order_by_desc>
    __exclude_columns Spécifiez une liste de noms de champs séparés par des virgules à exclure de l’ensemble de résultats. <__exclude_columns>sys_created_on,sys_created_by,caller_id,priority</__exclude_columns>
    __limite Limitez le nombre d’enregistrements renvoyés. <__limit>100</__limit>
    __first_row Indiquez que les résultats soient décalés de ce nombre d’enregistrements depuis le début de l’ensemble. Lorsqu’il est utilisé avec __last_row a pour effet d’interroger une fenêtre de résultats. Les résultats incluent le numéro de la première ligne. 250 <__first_row></__first_row>
    __last_row Indiquez que les résultats soient limités par ce nombre d’enregistrements depuis le début de l’ensemble, ou par la valeur __start_row lorsqu’elle est spécifiée. Lorsqu’il est utilisé avec __first_row a pour effet d’interroger une fenêtre de résultats. Les résultats sont inférieurs au numéro de la dernière ligne et n’incluent pas la dernière ligne. 500 <__last_row></__last_row>
    __use_view Spécifiez une vue de formulaire par nom, à utiliser pour limiter et développer les résultats renvoyés. Lorsque la vue de formulaire contient des champs référencés en profondeur tels que caller_id.email, ce champ est également renvoyé dans les résultats. <__use_view>soap_view</__use_view>

    Espace de noms des services Web directs

    Spécification d’un espace de noms unique pour chaque table

    La glide.wsdl.definition.use_unique_namespace propriété garantit que le WSDL de service Web direct de chaque table possède un attribut unique targetNamespace . Cette propriété est vraie par défaut, ce qui nécessite que le WSDL de service Web direct d’une table utilise une targetNamespace valeur de http://www.service-now.com/<table name>. Lorsque la valeur est false (ou lorsque la propriété n’est pas présente), toutes les tables utilisent la même targetNamespace valeur de http://www.service-now.com. Étant donné que toutes les tables partagent les mêmes noms d’opération, un client de service Web tentant d’utiliser plus d’un ServiceNow service Web ne serait pas en mesure de différencier les demandes entre plusieurs tables. L’utilisation d’une valeur unique targetNamespace permet aux clients de service Web de distinguer les demandes entre plusieurs tables.

    Par exemple, le WSDL du service Web direct pour la table Incident utilise la valeur suivante targetNamepsace :

    <wsdl:definitions xmlns:soapenc= "http://schemas.xmlsoap.org/soap/encoding/"xmlns:wsdl = "http://schemas.xmlsoap.org/wsdl/"xmlns:http = "http://schemas.xmlsoap.org/wsdl/http/"xmlns:tns = "http://www.service-now.com/incident"xmlns:xsd = "http://www.w3.org/2001/XMLSchema"xmlns:mime = "http://schemas.xmlsoap.org/wsdl/mime/"xmlns:soap = "http://schemas.xmlsoap.org/wsdl/soap/"targetNamespace = "http://www.service-now.com/incident" ><wsdl:types><xsd:schema elementFormDefault = "unqualified"targetNamespace = "http://www.service-now.com/incident" >

    Définition des besoins en matière d’espace de noms

    Par défaut, le schéma WSDL de ServiceNow déclare un attribut de elementFormDefault="unqualified". Cet attribut indique si les éléments déclarés localement doivent être qualifiés par le dans un document d’instance targetNamepsace . Si la valeur de cet attribut n’est pas qualifiée, les éléments déclarés localement ne doivent pas être qualifiés par le targetNamepsace. Si la valeur de cet attribut est qualifiée, les éléments déclarés localement doivent être qualifiés par le targetNamepsace.

    Cependant, cela est incompatible avec la façon dont les clients générés à partir de WSDL (par exemple, .NET, Axis2, webMethods) traitent le schéma intégré. En conséquence, il supprime l’espace de noms du schéma, ce qui rend la réponse de service Web non analysable.

    Pour surmonter ce problème de compatibilité, une propriété booléenne appelée glide.wsdl.schema.UnqualifiedElementFormDefault est introduite. Par défaut, cette propriété a la valeur vrai . Le définir sur faux permet aux clients générés à partir de WSDL d’analyser la valeur de retour de l’invocation de service Web. Vous pouvez modifier cette propriété à l’aide de la page des propriétés des services Web à l’adresse Propriétés système > Services web.

    Autoriser les noms de services en double

    Par défaut, les noms de service provenant de WSDL générés dynamiquement sont uniques et ont le format suivant :

    ServiceNow_<table name>

    Pour autoriser les noms de service en double, les administrateurs peuvent définir la glide.wsdl.unique_service_name propriété sur false. Créez la propriété si elle n’existe pas.