You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by Victor Perez <vp...@gmail.com> on 2011/09/14 00:24:10 UTC

Can't get stomp to work in .Net

We have this ActiveMQ server used corporate-wide, with many applications
written in Ruby, Java and C++ talking to it using STOMP.

Now I have been asked to write a .Net service to access one of the queues
populated from a Ruby app. It all goes well until I try to connect to the
queue using STOMP, when calling connection.Start() I get all kind of weird
exceptions like:

------------------------------
Apache.NMS.Stomp.IOException: Channel was inactive for too long:
tcp://jms.rrvc.local:61616/
   at Apache.NMS.Stomp.Connection.Oneway(Command command) in
C:\src\platform-dot-net\CBSV\Apache.NMS.Stomp-1.5.1-src\src\main\csharp\Connection.cs:lin
e 545
   at Apache.NMS.Stomp.MessageConsumer.DoClose() in
C:\src\platform-dot-net\CBSV\Apache.NMS.Stomp-1.5.1-src\src\main\csharp\MessageConsumer.cs:line
25
2
   at Apache.NMS.Stomp.MessageConsumer.Close() in
C:\src\platform-dot-net\CBSV\Apache.NMS.Stomp-1.5.1-src\src\main\csharp\MessageConsumer.cs:line
227
   at Apache.NMS.Stomp.Session.CreateConsumer(IDestination destination,
String selector, Boolean noLocal) in
C:\src\platform-dot-net\CBSV\Apache.NMS.S
tomp-1.5.1-src\src\main\csharp\Session.cs:line 422
   at Apache.NMS.Stomp.Session.CreateConsumer(IDestination destination) in
C:\src\platform-dot-net\CBSV\Apache.NMS.Stomp-1.5.1-src\src\main\csharp\Ses
sion.cs:line 379
   at CBSV.ListenerConsole.Program.Main(String[] args) in
C:\src\platform-dot-net\CBSV\CBSV.ListenerConsole\Program.cs:line 42
------------------------------

------------------------------
Apache.NMS.NMSException: The output char buffer is too small to contain the
decoded characters, encoding 'Unicode (UTF-8)' fallback 'System.Text.Decod
erReplacementFallback'.
Parameter name: chars ---> System.ArgumentException: The output char buffer
is too small to contain the decoded characters, encoding 'Unicode (UTF-8)'
 fallback 'System.Text.DecoderReplacementFallback'.
Parameter name: chars
   at Apache.NMS.Stomp.Transport.ResponseCorrelator.AsyncRequest(Command
command) in
C:\src\platform-dot-net\CBSV\Apache.NMS.Stomp-1.5.1-src\src\main\
csharp\Transport\ResponseCorrelator.cs:line 82
   at Apache.NMS.Stomp.Transport.ResponseCorrelator.Request(Command command,
TimeSpan timeout) in C:\src\platform-dot-net\CBSV\Apache.NMS.Stomp-1.5.1-
src\src\main\csharp\Transport\ResponseCorrelator.cs:line 92
   at Apache.NMS.Stomp.Connection.SyncRequest(Command command, TimeSpan
requestTimeout) in
C:\src\platform-dot-net\CBSV\Apache.NMS.Stomp-1.5.1-src\src
\main\csharp\Connection.cs:line 520
   --- End of inner exception stack trace ---
   at Apache.NMS.Stomp.Connection.SyncRequest(Command command) in
C:\src\platform-dot-net\CBSV\Apache.NMS.Stomp-1.5.1-src\src\main\csharp\Connection.c
s:line 510
   at Apache.NMS.Stomp.Session.CreateConsumer(IDestination destination,
String selector, Boolean noLocal) in
C:\src\platform-dot-net\CBSV\Apache.NMS.S
tomp-1.5.1-src\src\main\csharp\Session.cs:line 425
   at Apache.NMS.Stomp.Session.CreateConsumer(IDestination destination) in
C:\src\platform-dot-net\CBSV\Apache.NMS.Stomp-1.5.1-src\src\main\csharp\Ses
sion.cs:line 379
   at CBSV.ListenerConsole.Program.Main(String[] args) in
C:\src\platform-dot-net\CBSV\CBSV.ListenerConsole\Program.cs:line 42
------------------------------

------------------------------
System.NullReferenceException: Object reference not set to an instance of an
object.
   at Apache.NMS.Stomp.MessageConsumer.DoClose() in
C:\src\platform-dot-net\CBSV\Apache.NMS.Stomp-1.5.1-src\src\main\csharp\MessageConsumer.cs:line
25
2
   at Apache.NMS.Stomp.MessageConsumer.Close() in
C:\src\platform-dot-net\CBSV\Apache.NMS.Stomp-1.5.1-src\src\main\csharp\MessageConsumer.cs:line
227
   at Apache.NMS.Stomp.Session.CreateConsumer(IDestination destination,
String selector, Boolean noLocal) in
C:\src\platform-dot-net\CBSV\Apache.NMS.S
tomp-1.5.1-src\src\main\csharp\Session.cs:line 422
   at Apache.NMS.Stomp.Session.CreateConsumer(IDestination destination) in
C:\src\platform-dot-net\CBSV\Apache.NMS.Stomp-1.5.1-src\src\main\csharp\Ses
sion.cs:line 379
   at CBSV.ListenerConsole.Program.Main(String[] args) in
C:\src\platform-dot-net\CBSV\CBSV.ListenerConsole\Program.cs:line 42
------------------------------

The code I am using is the Async example from the website and IT WORKS FINE
if I use activemq instead of STOMP. I have tried everything, even compiling
the whole thing from sources to not avail.

Help?

Re: Can't get stomp to work in .Net

Posted by Timothy Bish <ta...@gmail.com>.
On Tue, 2011-09-13 at 17:24 -0500, Victor Perez wrote:
> We have this ActiveMQ server used corporate-wide, with many applications
> written in Ruby, Java and C++ talking to it using STOMP.
> 
> Now I have been asked to write a .Net service to access one of the queues
> populated from a Ruby app. It all goes well until I try to connect to the
> queue using STOMP, when calling connection.Start() I get all kind of weird
> exceptions like:
> 

Check the URI to ensure that you are using the correct port.  The error
indicates you are using port 61616 which is usually the default openwire
port.  

Regards

> ------------------------------
> Apache.NMS.Stomp.IOException: Channel was inactive for too long:
> tcp://jms.rrvc.local:61616/
>    at Apache.NMS.Stomp.Connection.Oneway(Command command) in
> C:\src\platform-dot-net\CBSV\Apache.NMS.Stomp-1.5.1-src\src\main\csharp\Connection.cs:lin
> e 545
>    at Apache.NMS.Stomp.MessageConsumer.DoClose() in
> C:\src\platform-dot-net\CBSV\Apache.NMS.Stomp-1.5.1-src\src\main\csharp\MessageConsumer.cs:line
> 25
> 2
>    at Apache.NMS.Stomp.MessageConsumer.Close() in
> C:\src\platform-dot-net\CBSV\Apache.NMS.Stomp-1.5.1-src\src\main\csharp\MessageConsumer.cs:line
> 227
>    at Apache.NMS.Stomp.Session.CreateConsumer(IDestination destination,
> String selector, Boolean noLocal) in
> C:\src\platform-dot-net\CBSV\Apache.NMS.S
> tomp-1.5.1-src\src\main\csharp\Session.cs:line 422
>    at Apache.NMS.Stomp.Session.CreateConsumer(IDestination destination) in
> C:\src\platform-dot-net\CBSV\Apache.NMS.Stomp-1.5.1-src\src\main\csharp\Ses
> sion.cs:line 379
>    at CBSV.ListenerConsole.Program.Main(String[] args) in
> C:\src\platform-dot-net\CBSV\CBSV.ListenerConsole\Program.cs:line 42
> ------------------------------
> 
> ------------------------------
> Apache.NMS.NMSException: The output char buffer is too small to contain the
> decoded characters, encoding 'Unicode (UTF-8)' fallback 'System.Text.Decod
> erReplacementFallback'.
> Parameter name: chars ---> System.ArgumentException: The output char buffer
> is too small to contain the decoded characters, encoding 'Unicode (UTF-8)'
>  fallback 'System.Text.DecoderReplacementFallback'.
> Parameter name: chars
>    at Apache.NMS.Stomp.Transport.ResponseCorrelator.AsyncRequest(Command
> command) in
> C:\src\platform-dot-net\CBSV\Apache.NMS.Stomp-1.5.1-src\src\main\
> csharp\Transport\ResponseCorrelator.cs:line 82
>    at Apache.NMS.Stomp.Transport.ResponseCorrelator.Request(Command command,
> TimeSpan timeout) in C:\src\platform-dot-net\CBSV\Apache.NMS.Stomp-1.5.1-
> src\src\main\csharp\Transport\ResponseCorrelator.cs:line 92
>    at Apache.NMS.Stomp.Connection.SyncRequest(Command command, TimeSpan
> requestTimeout) in
> C:\src\platform-dot-net\CBSV\Apache.NMS.Stomp-1.5.1-src\src
> \main\csharp\Connection.cs:line 520
>    --- End of inner exception stack trace ---
>    at Apache.NMS.Stomp.Connection.SyncRequest(Command command) in
> C:\src\platform-dot-net\CBSV\Apache.NMS.Stomp-1.5.1-src\src\main\csharp\Connection.c
> s:line 510
>    at Apache.NMS.Stomp.Session.CreateConsumer(IDestination destination,
> String selector, Boolean noLocal) in
> C:\src\platform-dot-net\CBSV\Apache.NMS.S
> tomp-1.5.1-src\src\main\csharp\Session.cs:line 425
>    at Apache.NMS.Stomp.Session.CreateConsumer(IDestination destination) in
> C:\src\platform-dot-net\CBSV\Apache.NMS.Stomp-1.5.1-src\src\main\csharp\Ses
> sion.cs:line 379
>    at CBSV.ListenerConsole.Program.Main(String[] args) in
> C:\src\platform-dot-net\CBSV\CBSV.ListenerConsole\Program.cs:line 42
> ------------------------------
> 
> ------------------------------
> System.NullReferenceException: Object reference not set to an instance of an
> object.
>    at Apache.NMS.Stomp.MessageConsumer.DoClose() in
> C:\src\platform-dot-net\CBSV\Apache.NMS.Stomp-1.5.1-src\src\main\csharp\MessageConsumer.cs:line
> 25
> 2
>    at Apache.NMS.Stomp.MessageConsumer.Close() in
> C:\src\platform-dot-net\CBSV\Apache.NMS.Stomp-1.5.1-src\src\main\csharp\MessageConsumer.cs:line
> 227
>    at Apache.NMS.Stomp.Session.CreateConsumer(IDestination destination,
> String selector, Boolean noLocal) in
> C:\src\platform-dot-net\CBSV\Apache.NMS.S
> tomp-1.5.1-src\src\main\csharp\Session.cs:line 422
>    at Apache.NMS.Stomp.Session.CreateConsumer(IDestination destination) in
> C:\src\platform-dot-net\CBSV\Apache.NMS.Stomp-1.5.1-src\src\main\csharp\Ses
> sion.cs:line 379
>    at CBSV.ListenerConsole.Program.Main(String[] args) in
> C:\src\platform-dot-net\CBSV\CBSV.ListenerConsole\Program.cs:line 42
> ------------------------------
> 
> The code I am using is the Async example from the website and IT WORKS FINE
> if I use activemq instead of STOMP. I have tried everything, even compiling
> the whole thing from sources to not avail.
> 
> Help?

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