Configurar a Estrutura de Notificação de Eventos do Produtor para usar o Barramento de Mensagem Aberto

  • Versão de lançamento: Xanadu
  • Atualizado 1 de ago. de 2024
  • 2 min. de leitura
  • Se você implantou ou planeja implantar o Barramento de mensagem aberto em sua instância, deverá configurar a Estrutura de notificação de eventos do produtor para este barramento de mensagem. Você pode implantar este barramento de mensagens para instâncias na nuvem e no local.

    Antes de Iniciar

    Função necessária: administrador

    Para obter informações adicionais sobre a publicação de mensagens usando o [] barramento de mensagens aberto , consulte Producing outbound API notifications using the open message bus.

    Procedimento

    1. Sincronize os tópicos em seu barramento de mensagens atual com sua instância ServiceNow.

      Para obter informações adicionais sobre como sincronizar tópicos, consulte Producing outbound API notifications using the open message bus.

    2. Personalize o método OpenMessageBusEventPublisherOOB – publicarMessageToComptibleRestProxy (objeto tmfEventPayload, matriz compatívelTopicArr) para enviar mensagens diretamente para uma ação REST pré-configurada.
      Este método é responsável por enviar uma mensagem para o proxy REST da plataforma de mensagens personalizadas usando o seletor de spoke. A plataforma de mensagens personalizadas é o seu barramento de mensagens por meio do qual as mensagens são publicadas.
      O exemplo de código a seguir mostra como personalizar este método para usar o fluxo do seletor de spoke e uma ação personalizada em vez de um seletor de spoke.
      publishMessageToComptibleRestProxy: function(tmfEventPayload, compatibleTopicArr) {
      
        if (gs.nil(tmfEventPayload) || gs.nil(compatibleTopicArr)) {
          return;
        }
        for (var i = 0; i < compatibleTopicArr.length; i++) {
      
          // Invoking spoke selector flow which will in turn pick the rest proxy based on the input condition
          var topicGr = new GlideRecord(Constants.TABLE_TOPIC);
          topicGr.get(compatibleTopicArr[i]);
          if (!topicGr.isValidRecord()) {
            this._logger.debug("Invalid topic sys_id passed to open message publisher. Sys_id passed is " + compatibleTopicArr[i]);
            return;
          }
      
          // NOTE THAT IN THIS IMPLEMENTATION INVOKES A CUSTOM ACTION INSTEAD OF SPOKE SELECTOR
          var restProxyResponse = new sn_appss.RequestAPI(spokeSelectorRequestTypeId, spokeSelectorRequestTypeInputMap, spokeSelectorRequestTypeContextObject).execute();
      
          // var restProxyResponse = sn_fd.FlowAPI.executeActionQuick('sn_api_notif_mgmt.demo_topic_rest_proxy_response', spokeSelectorRequestTypeInputMap);
          var responseCode = restProxyResponse.response.code;
          if (Constants.REGISTRATION_RESPONSE_SUCCESS_CODES.indexOf(responseCode) == -1) {
            this._logger.logErr("Publishing message to Message bus rest proxy failed with HTTP response code " + responseCode);
          }
        }
      },
    3. Configure o proxy REST para os tópicos.
      Depois que o spoke é configurado, as mensagens são publicadas no proxy REST especificado para tópicos configurados no spoke.
      1. Navegar até Todos > Seletor de spoke > Tipo de solicitação
      2. Selecione Solicitação de saída de proxy rest de tópico.
      3. Selecione a guia Definições de solicitação de integração.
      4. Crie uma entrada de definição de solicitação de integração para configurar o spoke.
        Você também pode consultar a entrada Def de resposta de proxy REST de demonstração para obter orientação adicional.