1

トラップの送受信に snmp4jを使用するサンプルを適用しましたが、すべて問題ありません。
しかし問題は 、snmp トラップを受信するためにmule esb
を 使用する場合、着信メッセージ ペイロードPDU (または snmp4j に適したオブジェクト) に変換してデータを抽出することができないことです。多くの検索を行いましたが、無駄でした。 誰でも私を助けることができますか: udp エンドポイントから受信した mule esb メッセージ ペイロードを org.snmp4j.PDU オブジェクトに変換して、そこからトラップ データを抽出できますか? ここに私のコードがあります:



パブリック同期 MuleEvent プロセス (MuleEvent イベント) が MuleException をスローします {
        byte[] encodedMessage = event.getMessage().getPayload(byte[].class);
        //次の行は機能していませんが、探しているものの唯一のサンプルです
        PDU pdu = 新しい PDU(encodedMessage );
.....

どんな援助も大歓迎です

4

3 に答える 3

1

独自の TransportMapping を実装し、それを SNMP4J MessageDispatcherImpl に関連付けると、BER ストリームを SNMP4J PDU に簡単に変換できます。次に、必要なすべての MessageProcessingModel と SecurityProtocol をメッセージ ディスパッチャに追加します。

最後に、CommandResponder インターフェースの実装をメッセージ ディスパッチャーに追加すれば完了です。

于 2014-02-07T22:31:00.477 に答える
0

関連する SNMP4J オブジェクトでメッセージ ペイロードを変換するカスタム トランスフォーマーを作成する必要があります。あるいは、SNMP4J API が十分に単純である場合は、式トランスフォーマーを使用してこれを行うことができます。

于 2013-06-28T16:48:51.377 に答える