activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Timothy Bish <tabish...@gmail.com>
Subject Re: Trying to send and receive text messages using ActiveMQ with JavaScript (AMQP) and Java (OpenWire/JMS) clients
Date Wed, 14 Feb 2018 01:54:26 GMT
On 02/13/2018 07:29 PM, Jeroen van Ooststroom wrote:
>
> I added the wireFormat.allowNonSaslConnections=true to the AMQP 
> transport connector configuration which resolves the issue of the 
> JavaScript client not being able to connect anymore, but I still get 
> the same kind of BytesMessage at the Java-side as mentioned in the 
> original post with the added bytes before the "Hello World!" string.
>
>
> On 14/02/2018 00:46, Timothy Bish wrote:
>> On 02/13/2018 06:22 PM, Jeroen van Ooststroom wrote:
>>>
>>> Thank you for your response.
>>>
>>> When I upgrade to ActiveMQ 5.15.3 my simple JavaScript client isn't 
>>> able to connect to the AMQP connector anymore:
>>>
>>>     error on read: ProtocolError: SASL layer not enabled
>>>     (buffer:0x41,0x4d,0x51,0x50,0x03,0x01,0x00,0x00)
>>>
>>> I'm not familiar with this. Does this mean I require a SASL client 
>>> now with a username/password to authenticate? 
>>> (https://github.com/grs/rhea/blob/master/examples/sasl/simple_sasl_client.js)

>>> If so, I assume this affects the way the Java client connects as well?
>>>
>>> Thanks,
>>> Jeroen...
>>>
>>> On 13/02/2018 23:45, Timothy Bish wrote:
>>>> On 02/13/2018 05:29 PM, Jeroen van Ooststroom wrote:
>>>>> I have a simple test JavaScript (Node.js) client that connects to 
>>>>> ActiveMQ using AMQP and our Java client that connects to the same 
>>>>> ActiveMQ using OpenWire (JMS). When I send a message from the 
>>>>> JavaScript client (just a simple “Hello World!”) it is received by

>>>>> the Java client as a javax.jms.BytesMessage. However the contents 
>>>>> of this BytesMessage contains a bunch of bytes in front of the 
>>>>> actual “Hello World!” message:
>>>>>
>>>>>    “SpESsESw�
>>>>>    Hello World!”
>>>>>
>>>>> I'm using the ActiveMQ's (5.13.4) and Qpid's suggested Rhea 
>>>>> JavaScript (Node.js) library for the simple JavaScript client for 
>>>>> testing. On the Java-side of things I'm using plain JMS 1.0.
>>>>>
>>>>> The Rhea example I'm using is basically according to this sample: 
>>>>> https://github.com/grs/rhea/blob/master/examples/helloworld.js
>>>>>
>>>>> I'm using the default AMQP configuration in order to enable the 
>>>>> protocol in activemq.xml:
>>>>>
>>>>>    <transportConnector name="amqp"
>>>>> uri="amqp://0.0.0.0:5672?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>

>>>>>
>>>>>
>>>>> When I try to add "&transport.transformer=jms" or 
>>>>> "&transport.transformer=raw" the JavaScript client is unable to 
>>>>> connect anymore.
>>>>>
>>>>> How do I get it so that it only contains the “Hello World!” 
>>>>> message? Do I need to parse out the bytes contained in the 
>>>>> BytesMessage?
>>>>>
>>>>> Thanks,
>>>>> Jeroen...
>>>>>
>>>>>
>>>> Try upgrading to ActiveMQ 5.15.3 which will have improved AMQP 
>>>> support over that older version.
>>>>
>>>
>> Yes, you need to either connect via SASL or configure the 
>> transportConnector to accept non-SASL connections if you have not 
>> secured your broker (you really should secure your broker).
>>
>> wireFormat.allowNonSaslConnections=true
>> -- 
>> Tim Bish
>> twitter: @tabish121
>> blog:http://timbish.blogspot.com/
>
Now you need to switch to the JMS transformer to achieve cross protocol 
messaging.

-- 
Tim Bish
twitter: @tabish121
blog: http://timbish.blogspot.com/


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message