したがって、私はrabbitmqs http apiを使用して、ウサギでいくつかの非常に基本的な操作を行います。ほとんどの状況でうまく動作しますが、メッセージをデフォルトのrabbitmqエクスチェンジに公開するためにどのように使用するかの問題を抱えています。この交換は常に存在し、削除できず、キュー名と同じルーティングキーを持つすべてのキューにバインドされています。http apiを使用してデフォルトのrabbitmqエクスチェンジに公開する
私の問題は、このキューには名前がなく、むしろ名前が空の文字列 ""であるということです。そしてこのメッセージをHTTP apiで公開するために使用するURLには、交換の名前が含まれています。
http://localhost:15672/api/exchanges/vhost/name/publish (出典:http://hg.rabbitmq.com/rabbitmq-management/raw-file/rabbitmq_v3_3_4/priv/www/api/index.html)
同じ記事では、「/」の名前を持つデフォルトのバーチャルホストを使用するために、あなたはバーチャルホスト名の代わりに%2fとを使用しなければならないことに言及しています。これにより、URLにdeafault exchangeを表現するのと同様の方法があるはずだと私は思います。
私はいくつかの異なるものを試してみましたが、それらのどれも働いた:
/api/exchanges/vhost//publish
/api/exchanges/vhost/""/publish
/api/exchanges/vhost/''/publish
/api/exchanges/vhost/ /publish
/api/exchanges/vhost/%00/publish
を私はこの問題に遭遇した唯一の人にはできません確信しています。どんな助けでも大変に感謝します。
おかげで、 トム
それです!私はそれがそれのような単純なものであることを知っていた。 ありがとうございました! –
メッセージパブリッシュヘッダーをどのように追加しますか? –