On Wed, Sep 28, 2011 at 3:17 PM, Timothy Bish <tabish...@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 <tabish...@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.b...@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.b...@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