1 Reply Latest reply on Oct 17, 2007 4:49 AM by Tom Fennelly

    Transformation Using JBOSS ESB

    Ajay Menon Newbie

      I am using JBOSS App server 4.2.0GA and ESB 4.2MR3.
      I am trying to transform an XML using XSLT.I actually went throught the example transformXML2XMLsimple and tried to do my work using that example.

      I am trying to pass an XML,which would go through the _gw Q and then is processed and made ESB aware and will be stored in the _esb Q.From here, the smooks transformer acts on it and processes it and then the transformed XML is displayed.So far so good.

      My doubts are :

      1.If not in the _esb Q,where does the processed message object will reside? Will it reside in the memory?

      2.Which action is called so that the SystemPrintln class gets this formattd message object and prints it on the screen ?

      3.How will i read the contents of the transformed message so that i can perform CBR on it ?

      While trying doing the transformation and CBR actions ,after transformation i am getting "message not supported" exception and it spits out spyexception.

      But, when i am trying to do transformation and routing separately ,as in ,
      i do transformation first,and store the output as a separate xml file and perform CBR on this stored XML file, it is working just fine.


      Why is this happening ?

        • 1. Re: Transformation Using JBOSS ESB
          Tom Fennelly Master

           

          "ajaymenon.k" wrote:
          1.If not in the _esb Q,where does the processed message object will reside? Will it reside in the memory?


          Not quite sure what you mean. The transformed data (payload) is put back into the message. The current codebase stores it in the message body under the key "org.jboss.soa.esb.actions.post" i.e. access it by calling message.getBody().get("org.jboss.soa.esb.actions.post").

          We're in the process of changing all ESB components (listeners, gateways, notifiers, routers, actions) to standardize the default exchange mechanism to get and set the message payload in the message bodies "default location" (JBESB-1162). Once this is done, the default exchange mechanism will be message.getBody().add(payloadObject) and payloadObject = message.getBody().get(). The SmooksTransformer will will this pattern. This code will be going into SVN this morning.

          "ajaymenon.k" wrote:
          2.Which action is called so that the SystemPrintln class gets this formatted message object and prints it on the screen?


          Again, nit totally sure I follow. Are you asking how SystemPrintln "magically" knows where in the message to find the transformed data? If so... it's magic :-) It looks in a few places and hopes to find it in one. This is all changing (as outlined above), so all components will follow the same pattern.

          "ajaymenon.k" wrote:
          3.How will i read the contents of the transformed message so that i can perform CBR on it ?


          I think this is all related to the above.

          While trying doing the transformation and CBR actions ,after transformation i am getting "message not supported" exception and it spits out spyexception.

          "ajaymenon.k" wrote:
          But, when i am trying to do transformation and routing separately ,as in ,
          i do transformation first,and store the output as a separate xml file and perform CBR on this stored XML file, it is working just fine.

          Why is this happening ?


          Not sure. Not enough info.