---
sourceDocument: オーストラリア API リファレンス
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/ja-JP/api-reference

 Release :

    - australia

ft:locale :

    - ja-JP

ft:publication_title :

    - オーストラリア API リファレンス

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# MIDHermesProducer - グローバル

# MIDHermesProducer - グローバル {#ariaid-title1}

* リリースバージョン: Australia
* 
* 更新日 2026年03月12日
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 所要時間：5分

MIDHermesProducer API は、MID サーバー からHermesトピックにデータを送信するメソッドを提供します。

[MID Server ECC Queue](https://www.servicenow.com/docs/access?context=ecc-queue-mid-server&version=australia&pubname=australia-servicenow-platform&ft:locale=en-US) を使用するのではなく [Hermes Messaging Service](https://www.servicenow.com/docs/access?context=hermes-messaging-service&version=australia&pubname=australia-servicenow-platform&ft:locale=en-US) 経由でデータを送信する方が、ServiceNowインスタンスにデータを取得する効率的な方法です。

この API には、 ServiceNow MID Hermes API (com.glide.mid.hermes_api) プラグインが必要です。呼び出し元ユーザーにはkafka_adminロールが必要です。この API を呼び出す前に、次の手順に従って [Configure the MID Hermes API Extension](https://www.servicenow.com/docs/access?context=MID-hermes-API&version=australia&pubname=australia-integrate-applications&section=configure-mid-hermes-api&ft:locale=en-US)してください。

この API は、 MID サーバー で実行されるスクリプト ( MID サーバー バックグラウンドスクリプトなど) で使用します。 [ワークフロースタジオ](https://www.servicenow.com/docs/access?context=workflow-studio&version=australia&pubname=australia-build-workflows&ft:locale=en-US) \[ 必要なランタイム \] を MID に設定したアクションスクリプトステップ。

## MIDHermesProducer:MIDHermesProducer() {#ariaid-title2}

Hermesトピックにメッセージを送信するための MIDHermesProducer を作成します。
{#MIDHermesProd-MIDHermesProd__table_j1w_c1c_23c__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| なし |   |   |
[表 : 1. パラメーター]

{#MIDHermesProd-MIDHermesProd__table_j1w_c1c_23c}  
この例では、 MIDHermesProducer をインスタンス化します。

    var producer = new MIDHermesProducer();

## MIDHermesProducer - send(オブジェクトオプション) {#ariaid-title3}

MID サーバーから指定されたHermesトピックにメッセージを送信します。
Hermesトピックにメッセージを送信するには、4000 〜 4050 ポート範囲が開いている必要があります。詳細については、「[Producing and consuming messages from a Kafka client](https://www.servicenow.com/docs/access?context=producing-consuming-hermes&version=australia&pubname=australia-servicenow-platform&ft:locale=en-US)」を参照してください。
{#MIDHermesProd-send_O__table_n1j_g1c_23c__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| オプション | オブジェクト | メッセージの設定パラメーターが含まれます。 { applicationId: "String", callbackFunction: function(), headers: {Object}, key: "String", message: "String", topic: "String" } |
| options.applicationId | 文字列 | オプション。トピックルーティングのアプリケーション識別子。指定すると、メッセージは `snc.{ にルーティングされます。インスタンス}。{applicationId} です。{topic}` 以外の場合は snc にルーティングされます `。インスタンス}。{トピック}`。 |
| options.onErrorCallback | 関数 | オプション。メッセージ配信が失敗した場合に実行する JavaScript 関数。この関数は、文字列 `errorMessage` と文字列 `errorType` (完全修飾 Java 例外クラス名) の 2 つのパラメーターを受け取ります。 function(errorMessage, errorType) { //implement error handling here }; |
| options.headers | オブジェクト | オプション。メッセージヘッダーのキーと値のペア。Apache Kafka でサポートされているヘッダーはすべて有効です。 |
| options.key | 文字列 | オプション。Apache Kafka でのパーティショニングのメッセージキー。同じキーを持つメッセージは同じパーティションに送信され、順序が確保されます。 |
| options.message | 文字列 | トピックに送信するメッセージの内容。文字列として書式設定された値はすべて有効です。 |
| options.topic | 文字列 | メッセージの送信先の Hermes トピックの名前。 注: インスタンスプリフィックスは含めないでください。自動的に追加されます。 |
[表 : 2. パラメーター]

{#MIDHermesProd-send_O__table_n1j_g1c_23c} {#MIDHermesProd-send_O__table_o1j_g1c_23c__entry__2}

| タイプ | 説明 |
|-|-|
| なし | このメソッドは値を返しません。メッセージ配信は非同期です。 成功:メッセージは Hermes Kafka ブローカーに非同期に配信されます。MID サーバーログで配信確認を確認します。 失敗:メッセージ配信が失敗した場合、オプションのコールバック関数 (提供されている場合) がエラーの詳細とともに呼び出されます。よくあるエラーには次のようなものがあります。 * `org.apache.kafka.common.errors.TimeoutException`:Kafka ブローカーに到達できないか、ネットワークの問題があります。Hermesブートストラップアドレスとポートのファイアウォールルールを確認します。 * `com.service_now.mid.hermes_api.exception.MIDHermesAPIExtensionNotStartedException`:拡張が開始されていません。MID Hermes API 拡張コンテキストがアクティブであることを確認します。 * `java.lang.IllegalArgumentException`:無効なパラメーター。トピックとメッセージが提供されていることを確認します。 {#MIDHermesProd-send_O__ul_tdc_1x5_33c} エラーを解決するための追加手順: * MID Hermes API 拡張機能が MID サーバー UI で実行されていることを確認します。 * Hermesへのネットワーク接続を確認します。 * 詳細な診断については、プロパティmid.hermes.debug=trueを使用してMID サーバーログを確認してください。 * キーストアで IPKI 証明書が有効であることを確認しますMID サーバー {#MIDHermesProd-send_O__ul_xx4_ky5_33c} |
[表 : 3. 返される内容]

{#MIDHermesProd-send_O__table_o1j_g1c_23c}  
この例では、 Hermes トピックにメッセージを送信します。

    // 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 
    });

メッセージは非同期に送信されます。MID サーバーログで配信確認を確認します。

