6 Replies Latest reply on May 21, 2010 1:56 AM by Wolfram Haußig

    TCP-Client fails to connect due to "Unknown data type"

    Wolfram Haußig Newbie

      Hello!

       

      My team and I are working on an C++ Application based on the Fuse Message Broker, which is embedded in one of our Java webservices.

      The Client uses the activeMQ Framework for C++ from the activeMQ website.

       

      When the clients tries to connect to the broker, the client sends a request to the broker and then waits forever expecting an answer from the broker.

      The Broker obviously receives a request, but fails to process. The Output is the following:

      org.apache.activemq.transport.tcp.TcpTransport - TCP consumer thread for tcp:///127.0.0.1:2493 starting

      org.apache.activemq.transport.WireFormatNegotiator - Sending: WireFormatInfo { version=5, properties={CacheSize=1024, CacheEnabled=true, SizePrefixDisabled=false, MaxInactivityDurationInitalDelay=10000, TcpNoDelayEnabled=true, MaxInactivityDuration=30000, TightEncodingEnabled=true, StackTraceEnabled=true}, magic=\[A,c,t,i,v,e,M,Q\]}

      org.apache.activemq.transport.WireFormatNegotiator - Received WireFormat: WireFormatInfo { version=5, properties={CacheSize=1024, CacheEnabled=true, SizePrefixDisabled=false, MaxInactivityDurationInitalDelay=10000, TcpNoDelayEnabled=true, MaxInactivityDuration=30000, TightEncodingEnabled=true, StackTraceEnabled=true}, magic=\[A,c,t,i,v,e,M,Q\]}

      org.apache.activemq.transport.WireFormatNegotiator - tcp:///127.0.0.1:2493 before negotiation: OpenWireFormat{version=5, cacheEnabled=false, stackTraceEnabled=false, tightEncodingEnabled=false, sizePrefixDisabled=false}

      org.apache.activemq.transport.WireFormatNegotiator - tcp:///127.0.0.1:2493 after negotiation: OpenWireFormat{version=5, cacheEnabled=true, stackTraceEnabled=true, tightEncodingEnabled=true, sizePrefixDisabled=false}

      org.apache.activemq.broker.TransportConnection.Transport - Transport failed: java.io.IOException: Unknown data type: 36

      java.io.IOException: Unknown data type: 36

      at org.apache.activemq.openwire.OpenWireFormat.tightUnmarshalNestedObject(OpenWireFormat.java:435)

      at org.apache.activemq.openwire.v5.BaseDataStreamMarshaller.tightUnmarsalCachedObject(BaseDataStreamMarshaller.java:144)

      at org.apache.activemq.openwire.v5.ConnectionInfoMarshaller.tightUnmarshal(ConnectionInfoMarshaller.java:69)

      at org.apache.activemq.openwire.OpenWireFormat.doUnmarshal(OpenWireFormat.java:362)

      at org.apache.activemq.openwire.OpenWireFormat.unmarshal(OpenWireFormat.java:276)

      at org.apache.activemq.transport.tcp.TcpTransport.readCommand(TcpTransport.java:212)

      at org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:204)

      at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:187)

      at java.lang.Thread.run(Thread.java:619)

      org.apache.activemq.broker.TransportConnection - Stopping connection: /127.0.0.1:2493

      org.apache.activemq.transport.tcp.TcpTransport - Stopping transport tcp:///127.0.0.1:2493

      org.apache.activemq.broker.TransportConnection - Stopped transport: /127.0.0.1:2493

      org.apache.activemq.broker.TransportConnection - Connection Stopped: /127.0.0.1:2493

       

      The Broker is configured as follows:

      <transportConnector name="openwire" uri="tcp://127.0.0.1:61616" />

       

      The client connects like this:

      tcp://localhost:61616?soKeepAlive=true&wireFormat.cacheEnabled=true& timeout=3000

       

      Does anyone have a solution for my problem?

       

      Kind regards

       

      Wolfram Haussig