MIDHermesProducer : global

  • Rversion finale: Australia
  • Mis à jour 12 mars 2026
  • 3 minutes de lecture
  • L’API MIDHermesProducer fournit une méthode permettant d’envoyer des données à partir d’une Serveur MIDHermes rubrique.

    L’envoi de données via le Hermes Messaging Service plutôt que d’utiliser peut être un moyen plus efficace d’obtenir MID Server ECC Queue des données vers une ServiceNow instance.

    Cette API nécessite le module d’extension ServiceNow API MID Hermes (com.glide.mid.hermes_api). L’utilisateur appelant doit avoir le rôle kafka_admin. Avant d’appeler cette API, procédez comme suit pour Configure the MID Hermes API Extension.

    Utilisez cette API dans les scripts qui s’exécutent sur , tels que les Serveur MID scripts en Serveur MID arrière-plan ou dans Studio de workflow étapes du script d’action avec l’exécution requise définie sur MID.

    MIDHermesProducer : MIDHermesProducer()

    Crée un MIDHermesProducer pour l’envoi de messages aux Hermes rubriques.

    Tableau 1. Paramètres
    Nom Type Description
    Néant

    Cet exemple instancie un MIDHermesProducer.

    var producer = new MIDHermesProducer();

    MIDHermesProducer : send(options de l’objet)

    Envoie un message à partir de la Serveur MID rubrique spécifiée Hermes .

    La plage de ports 4000-4050 doit être ouverte pour envoyer des messages à une Hermes rubrique. Pour plus d'informations, consultez Producing and consuming messages from a Kafka client.

    Tableau 2. Paramètres
    Nom Type Description
    options Objet Contient les paramètres de configuration pour le message.
    {
       applicationId: "String",
       callbackFunction: function(),
       headers: {Object},
       key: "String",
       message: "String",
       topic: "String"
    }
    options.applicationId Chaîne Facultatif. Identificateur d’application pour l’acheminement des rubriques. Lorsqu’ils sont fournis, les messages sont acheminés vers snc.{ instance}. {applicationId}. {topic}, sinon ils sont acheminés vers snc.{ instance}. {sujet}.
    options.onErrorCallback Fonction Facultatif. Fonction JavaScript à exécuter en cas d’échec de la livraison du message. La fonction accepte deux paramètres : String errorMessage et String errorType (nom de classe d’exception Java complet).
    function(errorMessage, errorType) { 
       //implement error handling here
    };
    options.en-têtes Objet Facultatif. Paires clé-valeur pour les en-têtes de message. Tous les en-têtes pris en charge par Apache Kafka sont valides.
    options.key Chaîne Facultatif. Clé de message pour le partitionnement dans Apache Kafka. Les messages avec la même clé sont envoyés à la même partition, assurant l’ordre.
    options.message Chaîne Contenu du message à envoyer à la rubrique. Toute valeur formatée sous forme de chaîne est valide.
    options.rubrique Chaîne Nom de la Hermes rubrique à laquelle envoyer le message.
    Remarque :
    N’incluez pas le préfixe d’instance ; elle est ajoutée automatiquement.
    Tableau 3. Renvoie
    Type Description
    Néant Cette méthode ne renvoie pas de valeur. La remise des messages est asynchrone.

    Réussite : les messages sont remis de façon asynchrone aux Hermes courtiers Kafka. Consultez les journaux pour la Serveur MID confirmation de livraison.

    Échec : si la remise du message échoue, la fonction de rappel facultative (le cas échéant) est invoquée avec les détails de l’erreur. Les erreurs courantes incluent :
    • org.apache.kafka.common.errors.TimeoutException : courtier Kafka inaccessible ou problèmes de réseau. Vérifiez l’adresse et les ports d’amorce dans Hermes les règles de pare-feu.
    • com.service_now.mid.hermes_api.exception.MIDHermesAPIExtensionNotStartedException : extension non démarrée. Vérifiez que le contexte d’extension de l’API MID Hermes est actif.
    • java.lang.IllegalArgumentException : paramètres non valides. Assurez-vous que la rubrique et le message sont fournis.
    Étapes supplémentaires pour résoudre les erreurs :
    • Vérifiez que l’extension de l’API MID est en cours d’exécution Hermes dans l’interface Serveur MID utilisateur.
    • Vérifiez la connectivité réseau vers Hermes.
    • Examinez Serveur MID les journaux avec une propriété mid.hermes.debug=true pour des diagnostics détaillés.
    • Confirmez que le certificat IPKI est valide dans le Serveur MID magasin de clés.

    Cet exemple envoie un message à une Hermes rubrique.

    // Create producer instance 
    var producer = new MIDHermesProducer(); 
    
    // Define error callback function 
    var errorCallback = function(errorMessage, errorType) {
        gs.error("Message delivery failed: " + errorType + " - " + errorMessage);
    }; 
    
    // Send message with all optional parameters 
    producer.send({ 
        topic: "order-events", 
        applicationId: "sn_streamconnect", 
        message: JSON.stringify({ 
            orderId: "ORD-12345", 
            status: "completed", 
            timestamp: new Date().getTime() 
        }), 
        key: "customer-456", 
        headers: { 
            "content-type": "application/json", 
            "source": "mid-server", 
            "version": "1.0" 
        }, 
        onErrorCallback: errorCallback 
    });

    Le message est envoyé de façon asynchrone. Consultez les journaux pour la Serveur MID confirmation de livraison.