[rabbitmq-discuss] AMQP protocol header mismatch

Simon MacMullen simon at rabbitmq.com
Mon Dec 10 09:21:46 GMT 2012


Hi!

On 10/12/2012 3:54AM, Earp, Clem wrote:
> I have just installed the latest .NET and Java RabbitMQ clients on
> Windows XP to test against a socket program on a Solaris box. The socket
> program simply echoes back what it received. My reading of the AMQP
> standards is that the first TCP packet received after the socket
> connects is the AMQP protocol header, and if the "server" accepts the
> AMQP connection then it should echo back the same AMQP protocol header
> as a sign that it can support the protocol version.

No. If the server accepts the protocol version it should respond by 
speaking the protocol (starting with a connection.start method). It will 
only respond with "AMQPabcd" if it does *not* support the version the 
client asked for, to let the client know what it does support.

<snip>

> The problem is that the client is not accepting what it gets back. For
> example, with the java client (runjava.bat
> com.rabbitmq.examples.HelloServer sol1 1430) I get:
>
> com.rabbitmq.client.ShutdownSignalException: connection error; reason:
> com.rabbitmq.client.MalformedFrameException: AMQP protocol version
> mismatch; we are version 0-9-1, server sent signature 0,0,9,1
>
> What is wrong with this setup? Thanks ...****

The problem is that we treat getting an "AMQPabcd" header back as 
meaning there must be a protocol version mismatch. We hven't explicitly 
coded for the case where the client says "I want 0-9-1" and the server 
says "sorry, I only support 0-9-1"...

Cheers, Simon



More information about the rabbitmq-discuss mailing list