Hi Tim, thx for the hint.
I don't know why, but somehow i thought that activemq would use some kind auto-negotiation mechanism.....:-) Now i added a new connector on a different port like you said: <transportConnector name="stomp" uri="stomp://localhost:61613"/> But if i use a connector like that one, isn't specifying the wireFormat in tcp://172.18.117.126:61613?wireFormat=stomp&transport.useAsyncSend=false redundant? Because i already specified the wireFormat in the url-connection "stomp://" ? Tim Bish wrote: > > You need to add a transport connector to the broker for stomp > > <transportConnector name="stomp" uri="stomp://localhost:61613"/> > > Different protocols don't exist on the same port in the broker, each is > configured to its own port in the xml file as seen above. > > Then connect using the correct uri via the c++ client > tcp://172.18.117.126:61613?wireFormat=stomp&transport.useAsyncSend=false > > j0llyr0g3r wrote: >> Hi folks, >> >> i get the above error message and i am absolutely clueless about what to >> do. >> I googled a lot, many hits deal with the same error message but with a >> quite >> different situation (in most cases the error occurs when the broker shuts >> down) >> >> The situation: >> >> I got activemq running with one single, simple Broker: >> >> <beans> >> >> <!-- Allows us to use system properties as variables in this >> configuration >> file --> >> <bean >> class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"/> >> >> <broker brokerName="singleBroker" useJmx="true" >> xmlns="http://activemq.org/config/1.0"> >> >> <!-- Use the following to configure how ActiveMQ is exposed in JMX >> --> >> <managementContext> >> <managementContext connectorPort="4444" >> jmxDomainName="org.apache.activemq"/> >> </managementContext> >> >> >> <!-- In ActiveMQ 4, you can setup destination policies --> >> <destinationPolicy> >> <policyMap><policyEntries> >> >> <policyEntry topic="ice"> >> <dispatchPolicy> >> <strictOrderDispatchPolicy /> >> </dispatchPolicy> >> <subscriptionRecoveryPolicy> >> <lastImageSubscriptionRecoveryPolicy /> >> </subscriptionRecoveryPolicy> >> </policyEntry> >> >> </policyEntries></policyMap> >> </destinationPolicy> >> >> <transportConnectors> >> <transportConnector uri="tcp://localhost:61616" >> discoveryUri="multicast://default"/> >> </transportConnectors> >> >> </broker> >> </beans> >> >> Now i have a simple Consumer and Producer based on activmq-cpp and the >> example source-code they provide. >> >> Both consumer and producer work well but __only__ if i use openwire. >> >> If i start the consumer/ producer with a URL like: >> >> tcp://172.18.117.126:61618?wireFormat=openwire&transport.useAsyncSend=false >> >> everything is fine and i see that the consumer receives the messages sent >> to >> him by the producer. >> >> But if i alter the URL to use stomp as wireformat: >> >> tcp://172.18.117.126:61618?wireFormat=stomp&transport.useAsyncSend=false >> >> I get the following errors when i start the consumer: >> >> ===================================================== >> Starting the Demo-Consumer: >> ----------------------------------------------------- >> Broker URI: >> tcp://172.18.117.126:61618?wireFormat=stomp&transport.useAsyncSend=false >> useTopic: true >> WARNING: activemq::io::SocketInputStream::read - The connection is broken >> FILE: activemq/network/SocketInputStream.cpp, LINE: 147 >> FILE: activemq/io/BufferedInputStream.cpp, LINE: 199 >> FILE: activemq/io/BufferedInputStream.cpp, LINE: 83 >> FILE: activemq/connector/stomp/StompCommandReader.cpp, LINE: 216 >> FILE: activemq/connector/stomp/StompCommandReader.cpp, LINE: 120 >> FILE: activemq/connector/stomp/StompCommandReader.cpp, LINE: 71 >> FILE: activemq/transport/IOTransport.cpp, LINE: 175 >> - tid: 3075550096 >> response from futureResponse was invalid >> FILE: activemq/transport/ResponseCorrelator.cpp, LINE: 145 >> FILE: activemq/transport/ResponseCorrelator.cpp, LINE: 152 >> FILE: activemq/connector/stomp/StompConnector.cpp, LINE: 256 >> FILE: activemq/connector/stomp/StompConnector.cpp, LINE: 165 >> FILE: activemq/core/ActiveMQConnectionFactory.cpp, LINE: 190 >> >> These are the same error messages when i start up the producer: >> >> ===================================================== >> Starting the Demo-Producer: >> ----------------------------------------------------- >> Broker URI: >> tcp://172.18.117.126:61616?wireFormat=stomp&transport.useAsyncSend=true >> useTopic: false >> WARNING: activemq::io::SocketInputStream::read - The connection is broken >> FILE: activemq/network/SocketInputStream.cpp, LINE: 147 >> FILE: activemq/io/BufferedInputStream.cpp, LINE: 199 >> FILE: activemq/io/BufferedInputStream.cpp, LINE: 83 >> FILE: activemq/connector/stomp/StompCommandReader.cpp, LINE: 216 >> FILE: activemq/connector/stomp/StompCommandReader.cpp, LINE: 120 >> FILE: activemq/connector/stomp/StompCommandReader.cpp, LINE: 71 >> FILE: activemq/transport/IOTransport.cpp, LINE: 175 >> - tid: 3075644304 >> response from futureResponse was invalid >> FILE: activemq/transport/ResponseCorrelator.cpp, LINE: 145 >> FILE: activemq/transport/ResponseCorrelator.cpp, LINE: 152 >> FILE: activemq/connector/stomp/StompConnector.cpp, LINE: 256 >> FILE: activemq/connector/stomp/StompConnector.cpp, LINE: 165 >> FILE: activemq/core/ActiveMQConnectionFactory.cpp, LINE: 190 >> ----------------------------------------------------- >> Finished with the demo ignore errors from this >> point on as the sockets breaks when we shutdown. >> ===================================================== >> >> Meanwhile activemq prints out: >> >> ERROR TransportConnector - Could not accept connection from >> /172.18.103.79:55128: java.io.IOException: Wire format negociation >> timeout: >> peer did not send his wire format. >> java.io.IOException: Wire format negociation timeout: peer did not send >> his >> wire format. >> at >> org.apache.activemq.transport.WireFormatNegotiator.oneway(WireFormatNegotiator.java:88) >> at >> org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:47) >> at >> org.apache.activemq.broker.TransportConnection.dispatch(TransportConnection.java:1138) >> at >> org.apache.activemq.broker.TransportConnection.processDispatch(TransportConnection.java:805) >> at >> org.apache.activemq.broker.TransportConnection.start(TransportConnection.java:885) >> at >> org.apache.activemq.broker.TransportConnector$1.onAccept(TransportConnector.java:148) >> at >> org.apache.activemq.transport.tcp.TcpTransportServer.run(TcpTransportServer.java:167) >> at java.lang.Thread.run(Thread.java:595) >> >> Especially this line is interesting: >> >> Wire format negociation timeout: peer did not send his wire format. >> >> But i do send the wireFormat, why do i keep getting that error? >> >> Thx for every help folks... >> >> P.S. >> >> All software (activemq + activemq-cpp) is up-to-date, meaning the current >> stable version. >> >> > > > -- View this message in context: http://www.nabble.com/openwire-ok%2C-but-when-using-stomp-i-get%3A-Wire-format-negociation-timeout%3A-peer-did-not-send-his-wire-format.-tf4213918s2354.html#a12012765 Sent from the ActiveMQ - User mailing list archive at Nabble.com.