activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Timothy Bish <tabish...@gmail.com>
Subject Re: STOMP NMS: cannot retrieve messages published from ruby
Date Wed, 28 Sep 2011 22:19:29 GMT
On Wed, 2011-09-28 at 15:55 -0500, Victor Perez wrote:
> On Wed, Sep 28, 2011 at 3:17 PM, Timothy Bish <tabish121@gmail.com> wrote:
> 
> > On Wed, 2011-09-28 at 15:09 -0500, Victor Perez wrote:
> > > On Wed, Sep 28, 2011 at 1:47 PM, Timothy Bish <tabish121@gmail.com>
> > wrote:
> > >
> > > > On Wed, 2011-09-28 at 11:41 -0500, Victor Perez wrote:
> > > > > We have a Ruby app publishing messages to ActiveMQ through STOMP.
> > When I
> > > > use
> > > > > Apache.NMS.Stomp in .NET to consume the messages, they come in as
> > > > > IBytesMessage with no content.
> > > > >
> > > > > If I use NMS to publish a message, it can be consumed with no
> > problems by
> > > > > our ruby, java and NMS (.NET) apps.
> > > > > When i publish the message from ruby, it can be consumed by ruby
and
> > java
> > > > > but not NMS.
> > > > >
> > > > > Any ideas?
> > > >
> > > > Capturing the frame that the ruby client is sending would help, also
> > > > knowing what versions of AMQ and .NET client would be good.
> > > >
> > > > Regards
> > > >
> > > > --
> > > > Tim Bish
> > > > ------------
> > > > FuseSource
> > > > Email: tim.bish@fusesource.com
> > > > Web: http://fusesource.com
> > > > Twitter: tabish121
> > > > Blog: http://timbish.blogspot.com/
> > > >
> > > >
> > > >
> > > > AMQ server is 1.5.0
> > > .NET is 1.5.0 for Apache.NMS (from NuGet package) and 1.5.1 for
> > > Apache.NMS.Stomp (compiled from sources)
> > > I have no idea how to capture frames (wireshark?)
> > >
> > > I compiled trunk NMS and Stomp and got it to work with latest AMQ (5.5.0)
> > > running locally. Problem persists when using our production AMQ.
> > >
> > > Thanks
> >
> > Have a look at the Stomp page at the ActiveMQ site, the debugging
> > section tells you how to enable logging for frames that are sent and
> > received.
> >
> > http://activemq.apache.org/stomp.html
> >
> > Knowing what the Ruby client is sending to the broker and what the
> > broker is sending to NMS.Stomp would help to figure out why NMS isn't
> > giving you a valid message.
> >
> > Regards
> >
> >
> > --
> > Tim Bish
> > ------------
> > FuseSource
> > Email: tim.bish@fusesource.com
> > Web: http://fusesource.com
> > Twitter: tabish121
> > Blog: http://timbish.blogspot.com/
> >
> >
> >
> > It seems that uncommenting the line for the frame IO doesn't have any
> effect: log4j.logger.org.apache.activemq.transport.stomp.StompIO=TRACE,
> stomp
> 
> This is what i got with trace:
> --- publish from ruby ---
> 
> 2011-09-28 15:46:12,341 [127.0.0.1:56861] TRACE
> StompTransportFilter           - Received:
> CONNECT
> content-type:text/plain; charset=UTF-8
> content-length:0
> passcode:*****
> login:
> 
> 
> 2011-09-28 15:46:12,343 [127.0.0.1:56861] TRACE
> StompTransportFilter           - Sending:
> CONNECTED
> session:ID:ZPW7PLAP041-56857-1317242756357-4:1
> 
> 
> 2011-09-28 15:46:12,347 [127.0.0.1:56861] TRACE
> StompTransportFilter           - Received:
> SEND
> content-type:text/plain; charset=UTF-8
> destination:/queue/development/rrvc/ssa/request
> persistent:true
> content-length:99
> 
> ---
> dob: "1971-11-11"
> order_id: "101"
> ssn: "...e: " Some "
> 
> --- end ---
> 
> --- publish from NMS ---
> 2011-09-28 15:46:57,121 [127.0.0.1:56868] TRACE
> StompTransportFilter           - Received:
> CONNECT
> heart-beat:10000,30000
> host:localhost
> accept-version:1.0,1.1
> client-id:ID:ZPW7PLAP041-56869-634528216169788254-0:0
> 
> 
> 2011-09-28 15:46:57,124 [127.0.0.1:56868] TRACE
> StompTransportFilter           - Sending:
> CONNECTED
> session:ID:ZPW7PLAP041-56869-634528216169788254-0:0
> 
> 
> 2011-09-28 15:46:57,266 [127.0.0.1:56868] TRACE
> StompTransportFilter           - Received:
> SEND
> receipt:2
> NMSXDeliveryMode:true
> destination:/queue/development/rrvc/ssa/request
> timestamp:1317242817255
> persistent:true
> priority:5
> 
> %YAML 1.2
> ---
> !CBSV.Processor.Messages.Veri...rra S
> ...
> --- end ---
> 
> Notable difference here is the content-length header in the ruby message, it
> must be throwing off NMS and making it return IBytesMessage.
> 
> Thanks

If you look at the Stomp page http://activemq.apache.org/stomp.html it
documents that for ActiveMQ content-length set means BytesMessage.

-- 
Tim Bish
------------
FuseSource
Email: tim.bish@fusesource.com
Web: http://fusesource.com
Twitter: tabish121
Blog: http://timbish.blogspot.com/




Mime
View raw message