Services Web directs

  • Rversion finale: Washingtondc
  • Mis à jour 1 févr. 2024
  • 4 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 appropriée est configurée.

    Le format pris en charge pour le message entrant correspond aux documents XML SOAP littéraux de style document (Document/Literal). Pour récupérer une description WSDL et un schéma XML d’un service Web direct, pointez vers l’URL relative <tablename>.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 étendus

    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 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érateur de flux RSS. <__encoded_query>active=true^category='hardware'</__encoded_query>
    __order_by Indiquez que les résultats retournés doivent être classés par le champ spécifié. <__order_by>priorité</__order_by>
    __order_by_desc Indiquez que les résultats renvoyés doivent être classé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. 100 <__limit></__limit>
    __first_row Indiquez que les résultats seront décalés de ce nombre d’enregistrements par rapport au 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 à partir du 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 dernier numéro de 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 service Web direct WSDL de chaque table a un attribut unique targetNamespace . Cette propriété a la valeur true par défaut, ce qui nécessite que le service Web direct WSDL 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 qui tente d’utiliser plusieurs ServiceNow services Web ne peut pas faire la différence entre les demandes de 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 service Web direct WSDL pour la table des incidents 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 exigences 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 ou non ê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.

    Toutefois, 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, l’espace de noms du schéma est supprimé, ce qui rend la réponse du service Web impossible à analyser.

    Pour pallier ce problème de compatibilité, une propriété booléenne appelée glide.wsdl.schema.UnqualifiedElementFormDefault est introduite. Cette propriété a la valeur true par défaut. La définir sur false 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é dynamiquement sont uniques et ont le format suivant :

    ServiceNow_<table name>

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