Scripted SOAP Web Services

  • Rversion finale: Washingtondc
  • Mis à jour 1 févr. 2024
  • 2 minutes de lecture
  • Les Scripted SOAP Web Services permettent à un ServiceNow administrateur de créer des SOAP Web Services 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 service 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 disposent des mêmes options de sécurité de base que tous les services Web SOAP. Pour en savoir plus 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 ServiceNow tables et tous les jeux d’importation génèrent dynamiquement des documents XML WSDL (Web Service Definition Language) qui décrivent son schéma de table et les opérations disponibles.

    Mise en 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 tel que défini dans la liste connexe, cochez la case Conformité WSDL . Lorsque cette case est cochée, le service Web réorganise les paramètres renvoyé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 qu’ils ne sont pas définis dans la liste connexe Paramètres de réponse, ces paramètres sont exclus de la réponse lorsque la conformité WSDL est sélectionnée.
    Tableau 1. Liste connexe Paramètres de sortie
    Paramètre Commande
    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 définie sur true, 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 de chaîne représentant le XML de l’enveloppe SOAP entrante.
    • request : objet JavaScript qui contient les valeurs mappées (mappées aux noms des paramètres d’entrée) de l’enveloppe SOAP entrante.
    • response : objet JavaScript qui permet de personnaliser les valeurs de réponse. Voir Personnaliser la réponse