Ok - that's really weird... Looking at the first two lines: SEND[localhost/127.0.0.1:5672] : AMQP\x03\x01\x00\x00 10/26 10:53:19 DEBUG [QpidConnectionInputThread-0] RAW - RECV [localhost/127.0.0.1:5672] : AMQP\x03\x01\x00\x00\x00\x00\x00\x18\x02\x01\x00\x00\x00S@\ xc0\x0b\x01\xe0\x08\x01\xa3\x05PLAIN\x00\x00\x00\x10\x02\ x01\x00\x00\x00SD\xc0\x03\x01P\x01AMQP\x00\x01\x00\x00\ x00\x00\x00(\x02\x00\x00\x00\x00S\x10\xc0\x1b\x05\xa1\ x09PlainText\xa1\x00p\xff\xff\xff\xff`\xff\xffp\x00\x00u0\ x00\x00\x00_\x02\x00\x00\x00\x00S\x18\xc0R\x01\x00S\x1d\ xc0L\x02\xa3\x0bMQException\xa1<AMQXR0029E: sasl mechanisms of client and server must match.
The client sends the AMQP sasl header, and then receives from the server a whole bunch of frames up to and including the exception about the mechanisms not matching... but the client hasn't yet actually sent the mechanisms. This looks very much like a bug in MQ Light... it seems to be expecting that the client connecting to it pipelines every part of the SASL exchange without even waiting for the server to send the list of mechanisms, etc. Since this is how Proton currently works, I can see that it will work if you connect with a Proton client... however the JMS client doesn't work like that... it waits to see the set of mechanisms available so that it can choose the appropriate one. The ActiveMQ server is acting more sensibly, and thus works correctly. Hope this helps, Rob On 26 October 2014 10:07, dorinc <[email protected]> wrote: > Hi Rob, > > I used both PLAIN (user/pass) and ANONYMOUS auth mechanisms > *This is the output for PLAIN*: > /10/26 10:53:19 DEBUG [QpidConnectionOutputThread-0] RAW - > SEND[localhost/127.0.0.1:5672] : AMQP\x03\x01\x00\x00 > 10/26 10:53:19 DEBUG [QpidConnectionInputThread-0] RAW - RECV > [localhost/127.0.0.1:5672] : > AMQP\x03\x01\x00\x00\x00\x00\x00\x18\x02\x01\x00\x00\x00S@ > \xc0\x0b\x01\xe0\x08\x01\xa3\x05PLAIN\x00\x00\x00\x10\x02\x01\x00\x00\x00SD\xc0\x03\x01P\x01AMQP\x00\x01\x00\x00\x00\x00\x00(\x02\x00\x00\x00\x00S\x10\xc0\x1b\x05\xa1\x09PlainText\xa1\x00p\xff\xff\xff\xff`\xff\xffp\x00\x00u0\x00\x00\x00_\x02\x00\x00\x00\x00S\x18\xc0R\x01\x00S\x1d\xc0L\x02\xa3\x0bMQException\xa1<AMQXR0029E: > sasl mechanisms of client and server must match. > 10/26 10:53:19 DEBUG [QpidConnectionInputThread-0] FRM - > RECV[localhost/127.0.0.1:5672|0] : > SaslMechanisms{saslServerMechanisms=[PLAIN]} > 10/26 10:53:19 DEBUG [QpidConnectionOutputThread-0] FRM - > SEND[localhost/127.0.0.1:5672|0] : > SaslInit{mechanism=PLAIN,initialResponse=\x00guest\x00guest} > 10/26 10:53:19 DEBUG [QpidConnectionInputThread-0] FRM - > RECV[localhost/127.0.0.1:5672|0] : SaslOutcome{code=auth} > 10/26 10:53:19 DEBUG [QpidConnectionOutputThread-0] RAW - > SEND[localhost/127.0.0.1:5672] : > > \x00\x00\x00#\x02\x01\x00\x00\x00SA\xc0\x16\x02\xa3\x05PLAIN\xa0\x0c\x00guest\x00guest > 10/26 10:53:19 DEBUG [QpidConnectionInputThread-0] FRM - > RECV[localhost/127.0.0.1:5672|0] : > > Open{containerId=PlainText,hostname=,maxFrameSize=4294967295,channelMax=65535,idleTimeOut=30000} > 10/26 10:53:19 DEBUG [QpidConnectionInputThread-0] FRM - > RECV[localhost/127.0.0.1:5672|0] : > Close{error=Error{condition=MQException,description=AMQXR0029E: sasl > mechanisms of client and server must match.}} > Exception in thread "main" javax.jms.JMSException: AMQXR0029E: > sasl mechanisms of client and server must match.</i> > > *The output for ANONYMOUS:* > /10/26 11:50:14 DEBUG [QpidConnectionOutputThread-0] RAW - > SEND[localhost/127.0.0.1:5672] : AMQP\x03\x01\x00\x00 > 10/26 11:50:14 DEBUG [QpidConnectionInputThread-0] RAW - RECV > [localhost/127.0.0.1:5672] : > AMQP\x03\x01\x00\x00\x00\x00\x00\x1c\x02\x01\x00\x00\x00S@ > \xc0\x0f\x01\xe0\x0c\x01\xa3\x09ANONYMOUS\x00\x00\x00\x10\x02\x01\x00\x00\x00SD\xc0\x03\x01P\x01AMQP\x00\x01\x00\x00\x00\x00\x00(\x02\x00\x00\x00\x00S\x10\xc0\x1b\x05\xa1\x09PlainText\xa1\x00p\xff\xff\xff\xff`\xff\xffp\x00\x00u0\x00\x00\x00_\x02\x00\x00\x00\x00S\x18\xc0R\x01\x00S\x1d\xc0L\x02\xa3\x0bMQException\xa1<AMQXR0029E: > sasl mechanisms of client and server must match. > 10/26 11:50:14 DEBUG [QpidConnectionInputThread-0] FRM - > RECV[localhost/127.0.0.1:5672|0] : > SaslMechanisms{saslServerMechanisms=[ANONYMOUS]} > 10/26 11:50:14 DEBUG [QpidConnectionOutputThread-0] FRM - > SEND[localhost/127.0.0.1:5672|0] : SaslInit{mechanism=ANONYMOUS} > 10/26 11:50:14 DEBUG [QpidConnectionInputThread-0] FRM - > RECV[localhost/127.0.0.1:5672|0] : SaslOutcome{code=auth} > 10/26 11:50:14 DEBUG [QpidConnectionOutputThread-0] RAW - > SEND[localhost/127.0.0.1:5672] : > \x00\x00\x00\x19\x02\x01\x00\x00\x00SA\xc0\x0c\x01\xa3\x09ANONYMOUS > 10/26 11:50:14 DEBUG [QpidConnectionInputThread-0] FRM - > RECV[localhost/127.0.0.1:5672|0] : > > Open{containerId=PlainText,hostname=,maxFrameSize=4294967295,channelMax=65535,idleTimeOut=30000} > 10/26 11:50:14 DEBUG [QpidConnectionInputThread-0] FRM - > RECV[localhost/127.0.0.1:5672|0] : > Close{error=Error{condition=MQException,description=AMQXR0029E: sasl > mechanisms of client and server must match.}} > </i> > > *I also did the same with Apache MQ without any problems* > /10/26 10:55:48 DEBUG [QpidConnectionOutputThread-0] RAW - > SEND[localhost/127.0.0.1:5672] : AMQP\x03\x01\x00\x00 > 10/26 10:55:48 DEBUG [QpidConnectionInputThread-0] RAW - RECV > [localhost/127.0.0.1:5672] : > AMQP\x03\x01\x00\x00\x00\x00\x00"\x02\x01\x00\x00\x00S@ > \xc0\x15\x01\xe0\x12\x02\xa3\x09ANONYMOUS\x05PLAIN > 10/26 10:55:48 DEBUG [QpidConnectionInputThread-0] FRM - > RECV[localhost/127.0.0.1:5672|0] : > SaslMechanisms{saslServerMechanisms=[ANONYMOUS, PLAIN]} > 10/26 10:55:48 DEBUG [QpidConnectionOutputThread-0] FRM - > SEND[localhost/127.0.0.1:5672|0] : > SaslInit{mechanism=PLAIN,initialResponse=\x00admin\x00admin} > 10/26 10:55:48 DEBUG [QpidConnectionOutputThread-0] RAW - > SEND[localhost/127.0.0.1:5672] : > > \x00\x00\x00#\x02\x01\x00\x00\x00SA\xc0\x16\x02\xa3\x05PLAIN\xa0\x0c\x00admin\x00admin > 10/26 10:55:48 DEBUG [QpidConnectionInputThread-0] RAW - RECV > [localhost/127.0.0.1:5672] : > \x00\x00\x00\x10\x02\x01\x00\x00\x00SD\xc0\x03\x01P\x00 > 10/26 10:55:48 DEBUG [QpidConnectionInputThread-0] FRM - > RECV[localhost/127.0.0.1:5672|0] : SaslOutcome{code=ok} > 10/26 10:55:48 DEBUG [QpidConnectionOutputThread-0] RAW - > SEND[localhost/127.0.0.1:5672] : AMQP\x00\x01\x00\x00 > 10/26 10:55:48 DEBUG [QpidConnectionInputThread-0] RAW - RECV > [localhost/127.0.0.1:5672] : AMQP\x00\x01\x00\x00 > 10/26 10:55:48 DEBUG [QpidConnectionOutputThread-0] FRM - > SEND[localhost/127.0.0.1:5672|0] : > Open{containerId=test-client,maxFrameSize=65536,channelMax=255} > 10/26 10:55:48 DEBUG [QpidConnectionOutputThread-0] RAW - > SEND[localhost/127.0.0.1:5672] : > \x00\x00\x00$\x02\x00\x00\x00\x00S\x10\xc0\x17\x04\xa1\x0btest-client@p > \x00\x01\x00\x00`\x00\xff > 10/26 10:55:48 DEBUG [QpidConnectionInputThread-0] RAW - RECV > [localhost/127.0.0.1:5672] : > > \x00\x00\x00\x17\x02\x00\x00\x00\x00S\x10\xc0\x0a\x03\xa1\x00\xa1\x00p\x00\x10\x00\x00 > 10/26 10:55:48 DEBUG [QpidConnectionInputThread-0] FRM - > RECV[localhost/127.0.0.1:5672|0] : > Open{containerId=,hostname=,maxFrameSize=1048576} > 10/26 10:55:48 DEBUG [QpidConnectionOutputThread-0] FRM - > SEND[localhost/127.0.0.1:5672|0] : > > Begin{nextOutgoingId=0,incomingWindow=2048,outgoingWindow=2048,handleMax=4294967295} > 10/26 10:55:48 DEBUG [QpidConnectionOutputThread-0] RAW - > SEND[localhost/127.0.0.1:5672] : > \x00\x00\x00\x1f\x02\x00\x00\x00\x00S\x11\xc0\x12\x05@Cp > \x00\x00\x08\x00p\x00\x00\x08\x00p\xff\xff\xff\xff/ > > > > -- > View this message in context: > http://qpid.2158936.n2.nabble.com/MQLight-with-Apache-Qpid-JMS-AMQP-1-0-tp7615707p7615741.html > Sent from the Apache Qpid users mailing list archive at Nabble.com. > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > >
