Services Web directs

  • Rversion finale: Yokohama
  • Mis à jour 30 janv. 2025
  • 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 de type document Documents SOAP XML littéraux (Document/Littéral). Pour récupérer une description WSDL de service Web direct et un schéma XML, 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 étendues

    Les paramètres de requête étendus vous permettent de filtrer et de modifier les résultats de retour d’une requête SOAP lors de l’utilisation des fonctions get, getKeys et getRecords .
    Remarque :
    Les noms des é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 . Consultez 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='matériel'</__encoded_query>
    __order_by Demandez aux résultats renvoyés d’être ordonnés selon le champ spécifié. <__order_by>priorité</__order_by>
    __order_by_desc Demandez aux résultats renvoyés d’être ordonnés par le champ spécifié, par 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 Demandez aux résultats d’être décalés par ce nombre d’enregistrements à partir du 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. <__first_row>250</__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 si 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 profonds 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écifier 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 a un attribut unique targetNamespace . Cette propriété est 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>. Si 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 également 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 du service Web de distinguer les demandes entre plusieurs tables.

    Par exemple, le service Web direct WSDL pour la table d’incident utilise cette targetNamepsace valeur :

    <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

    Le schéma WSDL de ServiceNow déclare par défaut un attribut de elementFormDefault="unqualified". Cet attribut indique si les éléments déclarés localement doivent être qualifiés ou non par le 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é. Elle supprime donc l’espace de noms du schéma, ce qui rend la réponse du 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 true . 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 service en double

    Par défaut, les noms de service du WSDL généré 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.