1

私はwso2メッセージブローカーにかなり慣れておらず、pocに取り組んでいます。RabbitMQ C# で WSO2 メッセージ ブローカーを使用しようとしています。キューをファンアウト交換にバインドすると、コンシューマー コードでエラーが発生します。エラーになるコードは次のとおりです。

_channel.ExchangeDeclare("amq.fanout", "fanout");
string queueName = _channel.QueueDeclare();
_channel.QueueBind(queueName, "amq.fanout", "");

このスニペットの 3 行目 (QueueBind) で例外が発生します。

The AMQP operation was interrupted: AMQP close-reason, started by Peer, code=504, text="org.wso2.andes.AMQSecurityException: Permission denied: binding [エラー コード 403: アクセスが拒否されました]", classId= というエラーがあります。 50、メソッド ID=20、原因=

AMQP 0_9_1 を使用しています。

wso2 mb はデフォルトでファンアウト交換を提供していないことがわかります。次のスニペットを qpid.virtualhosts.xml ファイルに追加しました

   <exchange>
     <type>fanout</type>
     <name>amq.fanout</name>
   </exchange>

ブローカーが開始されると、エラーは表示されません。

セットアップまたはコードに何か欠けているものがあるのか​​どうかわかりません。それとも、wso2 メッセージ ブローカーはファンアウト交換をまったくサポートしていませんか? この場合の例も見つかりませんでした。どんな助けでも大歓迎です!

4

1 に答える 1