This topic describes the error codes returned when a Message Queue for RabbitMQ client calls AMQP methods. You can troubleshoot errors based on the error messages and solutions provided in this topic.

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, http://mrw.so/6rNqO8], 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.
  • ExchangeNotExist: the cause of the error.
  • ReqId:: the ID of the request.
  • ErrorHelp: the error information for troubleshooting. The information includes the following items:
    • Related metadata when the error occurs
    • Link to this topic
    Notice If an error occurs when a Message Queue for RabbitMQ client calls the BasicPublish method, the ErrorHelp parameter provides only a message ID but does not provide 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.
reply-text=ExchangeNotExist, ReqId:5FB4C***************, ErrorHelp[dstQueue=XXX_test_queue,srcExchange=Producer.ExchangeName,bindingKey=XXX_test_bk,http://mrw.so/6rNqO8]
class-id The ID of the class. This parameter is used in the same way as in open source RabbitMQ. 50
method-id The ID of the method. This parameter is used in the same way as in open source RabbitMQ. 20

Error codes

Status code Description Solution
200 The status code returned because the request is successful. None.
403 The status code returned because you are not authorized to perform the operation. Make sure that the required permissions are granted to your Resource Access Management (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 redeclare a resource.
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 throttle the traffic 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 broker. After you locate the issue based on the response, submit a ticket to contact the technical support team of Message Queue for RabbitMQ.