It seems like you're having problems parsing your content. I would make sure for starters that you have XStream and Jettison in your broker's classpath.
Regards -- Dejan Bosanac Senior Software Engineer | FuseSource Corp. dej...@fusesource.com | fusesource.com skype: dejan.bosanac | twitter: @dejanb blog: http://www.nighttale.net ActiveMQ in Action: http://www.manning.com/snyder/ On Wed, Jul 25, 2012 at 5:39 PM, neek <n...@nickfenwick.com> wrote: > On 07/25/2012 08:21 PM, dejanb [via ActiveMQ] wrote: >> Can you try the latest snapshot and confirm it works for you >> >> https://repository.apache.org/content/repositories/snapshots/org/apache/activemq/apache-activemq/5.7-SNAPSHOT/ >> > > Looks like progress. My old stomp 1.0 client can connect, login and > send a message to ActiveMQ 5.7-SNAPSHOT. > > Unfortunately it then throws: > > [java] Jul 25, 2012 10:00:59 PM > org.apache.activemq.transport.stomp.ProtocolConverter handleException > [java] WARNING: Exception occurred processing: > [java] SEND > [java] amq-msg-type:MapMessage > [java] transformation:jms-map-json > [java] destination:/queue/integration.account_update > [java] transformation-error:org/xmlpull/v1/XmlPullParserException > [java] > [java] > {"map":{"entry":[{"string":["update_type","ad...2","GB"]}]}}: > org.apache.activemq.transport.stomp.ProtocolException: Unsupported > message type 'MapMessage' > > I've seen this before and don't think I ever worked a way around it. > > To try to get around this, I updated my PHP client to the latest from > the github repo, and dropped it into my client e-commerce site lib > directory, and put together a basic test using the > stomp-php/src/examples/transformation.php as a guide. (the 'namespace', > 'use' and 'auto_loader' stuff is completely foreign to me, and I wasted > some time trying to get it to work .. the require_once and > FuseSource\Stomp\Stomp syntax runs, at least) > > ini_set('include_path', ini_get('include_path') . > PATH_SEPARATOR . 'lib' . PATH_SEPARATOR . 'lib/FuseSource'); > require_once("Stomp/Stomp.php"); > require_once("Stomp/Frame.php"); > require_once("Stomp/Message.php"); > require_once("Stomp/Message/Map.php"); > // make a connection to ActiveMQ > if ($dbg) error_log("Making connection to " . > ACTIVEMQ_STOMP_URL . "..."); > $con = new FuseSource\Stomp\Stomp(ACTIVEMQ_STOMP_URL); > // connect > $con->connect(ACTIVEMQ_USERNAME, ACTIVEMQ_PASSWORD); > > // real data $body = array('map' => array('entry' => $entries)); > $body = array('test' => 'foo', 'othertest' => 1234); // dummy data > > $header = array('transformation' => 'jms-map-json'); > $mapMessage = new FuseSource\Stomp\Message\Map($body, $header); > if ($dbg) error_log("Calling send..."); > $con->send("/queue/integration.account_update", $mapMessage, > array()); > > This caused the server to receive a message, but it's not of type > javax.jms.MapMessage: > > [java] Jul 25, 2012 10:30:29 PM > ltd.yavin.liveauction.jms.GenericConsumer onMessage > [java] INFO: XXX message class > org.apache.activemq.command.ActiveMQTextMessage: ActiveMQTextMessage > {commandId = 3, responseRequired = false, messageId = > ID:uberneek-33640-1343230073443-8:3:-1:1:1, originalDestination = null, > originalTransactionId = null, producerId = > ID:uberneek-33640-1343230073443-8:3:-1:1, destination = > queue://integration.account_update, transactionId = null, expiration = > 0, timestamp = 1343230229732, arrival = 0, brokerInTime = 1343230229732, > brokerOutTime = 1343230229733, correlationId = null, replyTo = null, > persistent = false, type = null, priority = 4, groupID = null, > groupSequence = 0, targetConsumerId = null, compressed = false, userID = > null, content = null, marshalledProperties = null, dataStructure = null, > redeliveryCounter = 0, size = 1059, properties = > {transformation-error=org/xmlpull/v1/XmlPullParserException, > transformation=jms-map-json}, readOnlyProperties = true, readOnlyBody = > true, droppable = false, text = {"test":"foo","othertest":1234}} > > My server then rejects the message, because it's coded to only accept > MapMessage objects. > > I can see the conversation going over the wire via wireshark: > > CONNECT > login:zencart > passcode:premierrange > > .CONNECTED > heart-beat:0,0 > session:ID:uberneek-33640-1343230073443-8:4 > server:ActiveMQ/5.7-SNAPSHOT > version:1.0 > > . > SEND > transformation:jms-map-json > destination:/queue/integration.account_update > > {"test":"foo","othertest":1234}.DISCONNECT > > . > > Assuming I'm going to stick with the new client and use Stomp 1.1, can > you suggest why the message being sent isn't recognised as a MapMessage > on the server side? > > I'm sure part of the point here was to show that 5.7-SNAPSHOT can > communicate with the old 1.0 Stomp client. This failed for me but I'm > not sure if you want me to do further debugging, as it failed within the > activemq code and I presume you can reproduce that error on your system > and debug far better than I can. > > Nick > > > > > -- > View this message in context: > http://activemq.2283324.n4.nabble.com/5-5-to-5-6-upgrade-stomp-client-suddenly-gets-User-name-xyz-or-password-is-invalid-tp4654229p4654357.html > Sent from the ActiveMQ - User mailing list archive at Nabble.com.