Scripted SOAP Web Services

  • Rversion finale: Zurich
  • Mis à jour 31 juil. 2025
  • 2 minutes de lecture
  • Les services Web SOAP scriptés permettent à un administrateur de créer des ServiceNow services Web SOAP personnalisés.

    Vous pouvez définir des paramètres d’entrée et de sortie pour le service Web SOAP et utiliser JavaScript pour effectuer des opérations. Bien que cette fonctionnalité soit très puissante, utilisez des services Web directs ou des jeux d’importation de services Web SOAP dans la mesure du possible, car ils sont plus simples à implémenter et à gérer.

    Sécurité

    Les Services Web SOAP scriptés ont les mêmes options de sécurité de base que tous les Services Web SOAP. Pour plus d’informations sur la sécurité des services web SOAP, reportez-vous à la section Sécurité des services web SOAP.

    Lorsqu’une sécurité stricte est appliquée sur un système, l’utilisateur authentifié HTTP doit avoir le rôle soap_script pour exécuter le service Web scripté.

    WSDL

    Toutes les tables et tous les jeux d’importation génèrent dynamiquement des ServiceNow documents XML WSDL (Web Service Definition Language) qui décrivent leur schéma de table et les opérations disponibles.

    Application de la conformité WSDL

    Vous pouvez forcer la réponse à lister les valeurs de sortie dans le même ordre que celui défini dans le WSDL.

    Lorsque vous créez un service Web SOAP scripté, le WSDL généré est basé sur les listes connexes Paramètres d’entrée et Paramètres de sortie. La réponse SOAP réelle envoyée par le service scripté est déterminée par le script. Ce comportement peut amener le script à renvoyer les valeurs de sortie dans un ordre différent de celui défini dans le WSDL.

    Pour appliquer l’ordre des paramètres de sortie tels que définis dans la liste connexe, cochez la case Conformité WSDL . Lorsque cette case est cochée, le service Web réorganise les paramètres retournés par le script pour qu’ils correspondent à l’ordre dans le WSDL.
    Remarque :
    Si des paramètres de réponse supplémentaires sont renvoyés par le script, mais ne sont pas définis dans la liste connexe Paramètres de réponse, ces paramètres sont exclus de la réponse lorsque Conformité WSDL est sélectionné.
    Tableau 1. Liste connexe Paramètres de sortie
    Paramètre Ordre
    Param. 1 200
    Param. 2 300
    Paramètre 3 100

    Voici le script qui définit les valeurs des paramètres de sortie définis. Notez que dans cet exemple de script, les paramètres sont définis dans un ordre différent de celui défini dans la liste connexe Paramètres de sortie. Notez également le paramètre param4 supplémentaire qui n’est pas défini dans la liste connexe.

    Response.param1 = 1;
    Response.param4 = 4;
    Response.param3 = 3;

    Lorsque la case à cocher Conformité WSDL est définie sur faux, la réponse SOAP générée par le script est la suivante :

    <response>
                    <param1>1</param1>
                    <param4>4</param1>
                    <param3>3</param1>
    </response>
    Lorsque la case à cocher Conformité WSDL est vraie, la réponse SOAP générée par le script est la suivante :
    <response>
                    <param3>3</param1>
                    <param1>1</param1>
    </response>

    WSDL statique

    Certains clients de service Web nécessitent un accès SOAP à votre instance via un format WSDL spécifique. Ce format requis peut différer du format WSDL standard de ServiceNow. Dans ce cas, vous pouvez créer un WSDL statique qui correspond au format requis.

    Variables globales

    Pour faciliter le traitement personnalisé des demandes SOAP entrantes, les variables globales suivantes sont disponibles dans le contexte du script :
    • soapRequestDocument : objet Java org.w3c.dom.Document représentant l’enveloppe SOAP entrante.
    • soapRequestXML : objet chaîne représentant le code XML de l’enveloppe SOAP entrante.
    • request : objet JavaScript qui contient les valeurs mappées (mappées aux noms de paramètres d’entrée) de l’enveloppe SOAP entrante.
    • response : objet JavaScript qui vous permet de personnaliser les valeurs de la réponse. Voir Personnaliser la réponse