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.

Sample response

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)

Response parameters

Parameter Description Example
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:
  • Metadata when the error occurs
  • Link to this article
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.
[dstQueue=XXX_test_queue,srcExchange=Producer.ExchangeName,bindingKey=XXX_test_bk, https://c.tb.cn/F3.Zro5uI]
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

Status codes

Status code Description Solution
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.