2 Replies Latest reply on Dec 3, 2012 8:47 PM by tobysaville

    How get payload from a message ?

    everjava

      Hi!

       

       

      i'm using jboss esb and in my message body there's an object, like Person. When something get wrong the message will go to queue/DLQ on jboss.

      I would like get that object Person again from queue/DLQ. I'm trying the code below, but i can't ... Anyone know how can I do that ?

       

       

      QueueConnectionFactory queueConnectionFactory = (QueueConnectionFactory) iniCtx.lookup("ConnectionFactory");

      connection = queueConnectionFactory.createQueueConnection();

      queue = (Queue) iniCtx.lookup("/queue/DLQ");

      session = connection.createQueueSession(false, QueueSession.AUTO_ACKNOWLEDGE);

      connection.start();

      System.out.println("Connection Started");

       

      MessageConsumer consumer =  session.createConsumer(queue);

      ObjectMessageProxy omp = (ObjectMessageProxy) consumer.receive(2000);

      System.err.println( omp.getMessage()); //show me it ---> JBossMessage[21445453972357131]:PERSISTENT

      JBossMessage jbm = omp.getMessage();

       

      When I use jbm.getPayload(), get it:

       

       

       

      <Envelope>

          <Header xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing">

              <wsa:To>jms:localhost:1099#queue/my_esb</wsa:To>

              <jbossesb:java.naming.factory.initial

                  xmlns:jbossesb="http://schemas.jboss.com/ws/2007/01/jbossesb">org.jnp.interfaces.NamingContextFactory</jbossesb:java.naming.factory.initial>

              <jbossesb:java.naming.provider.url

                  xmlns:jbossesb="http://schemas.jboss.com/ws/2007/01/jbossesb">localhost:1099</jbossesb:java.naming.provider.url>

              <jbossesb:java.naming.factory.url.pkgs

                  xmlns:jbossesb="http://schemas.jboss.com/ws/2007/01/jbossesb">org.jnp.interfaces</jbossesb:java.naming.factory.url.pkgs>

              <jbossesb:destination-type

                  xmlns:jbossesb="http://schemas.jboss.com/ws/2007/01/jbossesb">queue</jbossesb:destination-type>

              <jbossesb:destination-name

                  xmlns:jbossesb="http://schemas.jboss.com/ws/2007/01/jbossesb">queue/my_esb</jbossesb:destination-name>

              <jbossesb:specification-version

                  xmlns:jbossesb="http://schemas.jboss.com/ws/2007/01/jbossesb">1.1</jbossesb:specification-version>

              <jbossesb:connection-factory

                  xmlns:jbossesb="http://schemas.jboss.com/ws/2007/01/jbossesb">XAConnectionFactory</jbossesb:connection-factory>

              <jbossesb:persistent xmlns:jbossesb="http://schemas.jboss.com/ws/2007/01/jbossesb">true</jbossesb:persistent>

              <jbossesb:acknowledge-mode

                  xmlns:jbossesb="http://schemas.jboss.com/ws/2007/01/jbossesb">AUTO_ACKNOWLEDGE</jbossesb:acknowledge-mode>

              <jbossesb:transacted xmlns:jbossesb="http://schemas.jboss.com/ws/2007/01/jbossesb">false</jbossesb:transacted>

              <jbossesb:type xmlns:jbossesb="http://schemas.jboss.com/ws/2007/01/jbossesb">urn:jboss/esb/epr/type/jms</jbossesb:type>

              <wsa:MessageID>b28656d6-cd7c-4e02-b78f-393c6bd8d3a8</wsa:MessageID>

          </Header>

          <Context />

          <Body>

              <Content>

                  <Key>b3JnLmpib3NzLnNvYS5lc2IubWVzc2FnZS5kZWZhdWx0RW50cnk=</Key>

                  <Value>

                      <marshalunmarshal>

                          <plugin-type>urn:xml/marshalunmarshal/plugin/serialization</plugin-type>

                          rO0ABXNyADpici5zZW5haS5zYy5pbnRlZ3JhY2FvLmNvbW1vbi5kdG8uQ29sYWJvcmFkb3JJbnRlZ3JhY2FvRFRPAAAAAAAAAAECABZMABJjaWRhZGVOYXR1cmFsaWRhZGV0ABJMamF2YS9sYW5nL1N0cmluZztMAA1jb250cmF0b3NMaXN0dAAQTGphdmEvdXRpbC9MaXN0O0wAA2NwZnEAfgABTAAPZGF0YUZhbGVjaW1lbnRvdAAQTGphdmEvdXRpbC9EYXRlO0wACmVtYWlsc0xpc3RxAH4AAkwADWVuZGVyZWNvc0xpc3RxAH4AAkwAEmVzdGFkb05hdHVyYWxpZGFkZXEAfgABTAAGZ2VuZXJvcQB+AAFMAA1uYWNpb25hbGlkYWRldAAfTGJyL3NlbmFpL3NjL2VudGl0eS9zZW5haS9QYWlzO0wAEG5hY2lvbmFsaWRhZGVTdHJxAH4AAUwACm5hc2NpbWVudG9xAH4AA0wABG5vbWVxAH4AAUwAB25vbWVNYWVxAH4AAUwAB25vbWVQYWlxAH4AAUwAEHBlc3NvYUludGVncmFjYW90ADBMYnIvc2VuYWkvc2MvZW50aXR5L2ludGVncmFjYW8vUGVzc29hSW50ZWdyYWNhbztMAARyYWNhdAAiTGJyL3NlbmFpL3NjL2VudGl0eS9lZHVjYWNhby9SYWNhO0wAB3JhY2FTdHJxAH4AAUwAAnJncQB+AAFMABByZ09yZ2FvRXhwZWRpZG9ycQB+AAFMABNzaXR1YWNhb09jdXBhY2lvbmFsdAAxTGJyL3NlbmFpL3NjL2VudGl0eS9lZHVjYWNhby9TaXR1YWNhb09jdXBhY2lvbmFsO0wAFnNpdHVhY2FvT2N1cGFjaW9uYWxTdHJxAH4AAUwADXRlbGVmb25lc0xpc3RxAH4AAnhwdAAIZGVzdGVycm9zcgATamF2YS51dGlsLkFycmF5TGlzdHiB0h2Zx2GdAwABSQAEc2l6ZXhwAAAAAncEAAAACnNyAEJici5zZW5haS5zYy5pbnRlZ3JhY2FvLmNvbW1vbi5zbW9va3MuY29sYWJvcmFkb3IuQ29sYWJvcmFkb3JTbW9va3MAAAAAAAAAAQIAFkwACGFkbWlzc2FvcQB+AANMAAxjYXJnYUhvcmFyaWFxAH4AAUwABWNhcmdvcQB+AAFMAA1kYWRvc1JlZ2lzdHJvdAApTGJyL3NlbmFpL3NjL2NvbW1vbi9lbnRpdHkvRGFkb3NSZWdpc3RybztMABFleHBlcmllbmNpYUVuc2lub3EAfgABTAAXZXhwZXJpZW5jaWFQcm9maXNzaW9uYWxxAH4AAUwABmZ1bmNhb3EAfgABTAANaWRDb2xhYm9yYWRvcnQAEExqYXZhL2xhbmcvTG9uZztMAAlpZFVuaWRhZGVxAH4ADkwABWxvZ2ludAAgTGJyL3NlbmFpL3NjL2VudGl0eS9zZW5haS9Mb2dpbjtMAAltYXRyaWN1bGFxAH4ADkwADW5pdmVsRWR1Y2FjYW90AC5MYnIvc2VuYWkvc2MvZW50aXR5L2NvbGFib3JhZG9yL05pdmVsRWR1Y2FjYW87TAAQbml2ZWxFZHVjYWNhb1N0cnEAfgABTAAGbnVjbGVvdAAhTGJyL3NlbmFpL3NjL2VudGl0eS9zZW5haS9OdWNsZW87TAAJbnVjbGVvU3RycQB+AAFMAAVyYW1hbHEAfgABTAAHcmVjaXNhb3EAfgADTAAIcmVzY2lzYW9xAH4AA0wADHRpcG9Db250cmF0b3QALUxici9zZW5haS9zYy9lbnRpdHkvY29sYWJvcmFkb3IvVGlwb0NvbnRyYXRvO0wAD3RpcG9Db250cmF0b1N0cnEAfgABTAAHdW5pZGFkZXQAIkxici9zZW5haS9zYy9lbnRpdHkvc2VuYWkvVW5pZGFkZTtMAA51bmlkYWRlTG90YWNhb3EAfgABeHBzcgAOamF2YS51dGlsLkRhdGVoaoEBS1l0GQMAAHhwdwgAAAEy68XHgHh0AAIxMXQACGFuYWxpc3RhcHQAATN0AAZzZWkgbGF0AANkYmFwcHBzcgAOamF2YS5sYW5nLkxvbmc7i+SQzI8j3wIAAUoABXZhbHVleHIAEGphdmEubGFuZy5OdW1iZXKGrJUdC5TgiwIAAHhwAAAAAABlf8FwdAAQRXNwZWNpYWxpemHDp8Ojb3B0AANOVEl0AAQxNTk3cHNxAH4AFXcIAAABMvYSf4B4cHQACk1lbnNhbGlzdGFwdAACRFJzcQB+AAxzcQB+ABV3CAAAATLrxceAeHQAAjExdAAIYW5hbGlzdGFwdAABM3QABnNlaSBsYXQAA2RiYXBwcHNxAH4AHAAAAAAAZX/BcHQAEEVzcGVjaWFsaXphw6fDo29wdAADTlRJdAAEMTU5N3BzcQB+ABV3CAAAATL2En+AeHB0AApNZW5zYWxpc3RhcHQAAkRSeHQABzEyMzE1NDRzcQB+ABV3CAAAAOl+2g+AeHNxAH4ACgAAAAF3BAAAAApzcgBCYnIuc2VuYWkuc2MuaW50ZWdyYWNhby5jb21tb24uc21vb2tzLmNvbGFib3JhZG9yLlBlc3NvYUVtYWlsU21vb2tzAAAAAAAAAAECAAZaAAxwcmVmZXJlbmNpYWxMAAVlbWFpbHEAfgABTAANaWRQZXNzb2FFbWFpbHEAfgAOTAAFb3JkZW10ABNMamF2YS9sYW5nL0ludGVnZXI7TAAGcGVzc29hdAAhTGJyL3NlbmFpL3NjL2VudGl0eS9zZW5haS9QZXNzb2E7TAAEdGlwb3EAfgABeHAAdAANbHV1QGJpdGNoLmhvdHBwcHQAB1Blc3NvYWx4c3EAfgAKAAAAAncEAAAACnNyAEVici5zZW5haS5zYy5pbnRlZ3JhY2FvLmNvbW1vbi5zbW9va3MuY29sYWJvcmFkb3IuUGVzc29hRW5kZXJlY29TbW9va3MAAAAAAAAAAQIAD1oADHByZWZlcmVuY2lhbEwABmJhaXJyb3EAfgABTAALY2FpeGFQb3N0YWxxAH4AAUwAA2NlcHEAfgABTAAGY2lkYWRlcQB+AAFMAApjb2RpZ29QYWlzcQB+AAFMAAtjb21wbGVtZW50b3EAfgABTAAIZW5kZXJlY29xAH4AAUwABmVzdGFkb3EAfgABTAAQaWRQZXNzb2FFbmRlcmVjb3EAfgAOTAAGbnVtZXJvcQB+AAFMAAVvcmRlbXEAfgA3TAAGcGVzc29hcQB+ADhMAAR0aXBvcQB+AAFMAA50aXBvTG9ncmFkb3Vyb3EAfgABeHAAdAAFcGVkcmFwdAAFOTkwMDB0AAhmb3jDs3BpeHQAAkJSdAAHbm9taW5hbHQACXZpcmdvbGlub3QAAlNUcHQABDQ0NDRwcHQAC1Jlc2lkZW5jaWFsdAADcnVhc3EAfgA9AHQABXBlZHJhcHQABTk5MDAwdAAIZm94w7NwaXh0AAJCUnQAB25vbWluYWx0AAl2aXJnb2xpbm90AAJTVHB0AAQ0NDQ0cHBxAH4AR3QAA3J1YXh0AAJTY3QAAU1wdAACQlJzcQB+ABV3CAAAAOIm8fUAeHQAC0x1bHV6aW5oYSBidAAKRG9uYSBtYXJpYXQAB1NldSB6w6lzcgAuYnIuc2VuYWkuc2MuZW50aXR5LmludGVncmFjYW8uUGVzc29hSW50ZWdyYWNhbwAAAAAAAAABAgAGTAAJYWx0ZXJhY2FvcQB+AANMAAdjcmlhY2FvcQB+AANMAAtpZEFwbGljYWNhb3EAfgAOTAAJaWRFeHRlcm5vcQB+AA5MAAhpZFBlc3NvYXEAfgAOTAAGcGVzc29hcQB+ADh4cgAlYnIuc2VuYWkuc2MuY29tbW9uLmVudGl0eS5TRU5BSUVudGl0eQAAAAAAAAABAgADSgALaWRJbnN0YW5jaWFaAApwZXJzaXN0ZW50TAAIbGlzdGVuZXJ0AC9MYnIvc2VuYWkvc2MvY29tbW9uL2VudGl0eS9TRU5BSUVudGl0eUxpc3RlbmVyO3hwAAABMMMMIqsAcHBwc3EAfgAcAAAAAAAAAANzcQB+ABwAAAAAAANBAHBwcHQAB0FtYXJlbGF0AAczNDU0NTQ1dAADc3NwcHQACUVtcHJlZ2Fkb3NxAH4ACgAAAAN3BAAAAApzcgBFYnIuc2VuYWkuc2MuaW50ZWdyYWNhby5jb21tb24uc21vb2tzLmNvbGFib3JhZG9yLlBlc3NvYVRlbGVmb25lU21vb2tzAAAAAAAAAAECAAhMABBpZFBlc3NvYVRlbGVmb25lcQB+AA5MABBub21lUGVzc29hUmVjYWRvcQB+AAFMAAZudW1lcm9xAH4AAUwABW9yZGVtcQB+ADdMAAZwZXNzb2FxAH4AOEwADHBlc3NvYVJlY2Fkb3EAfgABTAAFcmFtYWxxAH4AAUwABHRpcG9xAH4AAXhwcHQACUx1bHV6aW5oYXQACDk5OTk2NjMzcHBwdAADMjU2dAAHQ2VsdWxhcnNxAH4AZXB0AAlMdWx1emluaGF0AAg5OTk5NjYzM3BwcHQAAzI1NnEAfgBqc3EAfgBlcHQACUx1bHV6aW5oYXQACDk5OTk2NjMzcHBwdAADMjU2cQB+AGp4

                      </marshalunmarshal>

                  </Value>

              </Content>

          </Body>

          <Attachment />

          <Properties>

              <Property>

                  <Key>b3JnLmpib3NzLnNvYS5lc2IubWVzc2FnZS50cmFuc3BvcnQudHlwZQ==</Key>

                  <Value>rO0ABX5yAC9vcmcuamJvc3Muc29hLmVzYi5jb21tb24uRW52aXJvbm1lbnQkVHJhbnNwb3J0cwAAAAAAAAAAEgAAeHIADmphdmEubGFuZy5FbnVtAAAAAAAAAAASAAB4cHQAA0pNUw==</Value>

              </Property>

              <Property>

                  <Key>b3JnLmpib3NzLnNvYS5lc2IubWVzc2FnZS5zb3VyY2U=</Key>

                  <Value>rO0ABXQAWFBvcnRSZWZlcmVuY2UgPCBqbXM6bG9jYWxob3N0OjEwOTkjcXVldWUvc2VuYWlfaW50ZWdyYWNhb19wZXNzb2FfY29sYWJvcmFkb3JhY3Rpb25fZXNiID4=</Value>

              </Property>

          </Properties>

      </Envelope>

        • 1. Re: How get payload from a message ?
          everjava

          Readind this *thread, I think what i want isn't possible ...

           

          *http://community.jboss.org/message/503094#503094

          • 2. Re: How get payload from a message ?
            tobysaville

            I know this is an old thread but i just came across the same issue. I resolved it by making my DLQ NOT a gateway.

             

            So i have a queue defined called retrieve_search_certificate_esb. it has a DLQ configured as such:

             

            <attribute name="DLQ">jboss.esb.destination:service=Queue,name=retrieve_search_certificate_dlq</attribute>

             

            which is in turn mapped to a jms-bus with a busId of retrSearchCertDlqChannel

             

            that jms-bus is configured by my service to be listened to by my service with

            <jms-listener name="ESB-Channel" busidref="retrSearchCertDlqChannel" is-gateway="false"/>

             

            the part that gave me access to my org.jboss.soa.esb.message.Message is: is-gateway="false" When is-gateway was true, the ESB Message was serialized to a String in the same way as the original post in this thread.