This article provides a sample response that is returned when a Message Queue for RabbitMQ client calls an Advanced Message Queuing Protocol (AMQP) method. This article also describes the response parameters and the solutions to specific errors to help you troubleshoot errors based on responses.
Caused by: com.rabbitmq.client.ShutdownSignalException: channel error; protocol method: #method<channel.close>(reply-code=404, reply-text=ExchangeNotExist, ReqId:5FB4C999314635F952FCBFF6, ErrorHelp[dstQueue=XXX_test_queue,srcExchange=Producer.ExchangeName,bindingKey=XXX_test_bk, https://c.tb.cn/F3.Zro5uI], class-id=50, method-id=20) at com.rabbitmq.client.impl.ChannelN.asyncShutdown(ChannelN.java:516) at com.rabbitmq.client.impl.ChannelN.processAsync(ChannelN.java:346) at com.rabbitmq.client.impl.AMQChannel.handleCompleteInboundCommand(AMQChannel.java:182) at com.rabbitmq.client.impl.AMQChannel.handleFrame(AMQChannel.java:114) at com.rabbitmq.client.impl.AMQConnection.readFrame(AMQConnection.java:672) at com.rabbitmq.client.impl.AMQConnection.access$300(AMQConnection.java:48) at com.rabbitmq.client.impl.AMQConnection$MainLoop.run(AMQConnection.java:599) at java.lang.Thread.run(Thread.java:748)
|reply-code||The returned status code.||404|
|reply-text||The returned message.|
|N/A||The error message.||ExchangeNotExist|
|ReqId||The ID of the request.||5FA9120***|
|ErrorHelp||The information that helps troubleshoot the error, including:
Notice If an error occurs when a Message Queue for RabbitMQ client calls the BasicPublish method, the ErrorHelp parameter returns only a message ID, but not the help information formatted as key-value pairs. You can troubleshoot the error based on the message ID. This improves performance and reduces memory overheads.
|class-id||The ID of the class. This parameter is used in the same way as in RabbitMQ.||50|
|method-id||The ID of the method. This parameter is used in the same way as in RabbitMQ.||20|
|200||The status code returned because the request is successful.||N/A|
|403||The status code returned because you are not authorized to perform the operation.||Make sure that the required permissions are granted to your RAM user. For more information, see RAM policies.|
|404||The status code returned because the specified resource does not exist.||Make sure that the required resource exists and is in the desired state.|
|406||The status code returned because the precheck fails.
Note In most cases, the precheck fails because you assign an invalid value to a parameter when you call an AMQP method. For example, you may assign a null value to a non-null parameter, or you may assign a different value to the same parameter when you declare a resource again.
|Make sure that the input parameters are correctly set when you call the AMQP method.|
|503||The status code returned because the command is invalid.||Do not use AMQP methods and exchange types that are not supported by Message Queue for RabbitMQ.|
|530||The status code returned because the operation is not allowed.||We recommend that you perform throttling to make sure that your use of Message Queue for RabbitMQ does not exceed the limits. For more information, see Limits.|
|541||The status code returned because an internal error has occurred on the server.||After you locate the issue based on the response, you can submit a ticket to contact Message Queue for RabbitMQ technical support.|