|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
split incoming message into two ore more |
« View previous topic :: View next topic » |
Author |
Message
|
EgilsJ.Rubenis |
Posted: Tue Feb 18, 2003 7:33 am Post subject: split incoming message into two ore more |
|
|
Acolyte
Joined: 18 Nov 2002 Posts: 63 Location: Germany, Alfeld
|
Hi there,
i have an incoming Message. The body contains XML-Data. Is there a possibility to examine the XML-Data and put two ore more different messages into different Queues?
Example
<InputData>
<DataforMessage1>
<Message1Field1>abc</Message1Field1>
<Message1Field2>500</Message1Field2>
</DataforMessage1>
<DataforMessage2>
<Message2Field1>def</Message2Field1>
<Message2Field2>1500</Message2Field2>
</DataforMessage1>
</InputData>
Can i somehow split the incoming message, so I become one new
message to be send to Queue1 and a second message send to Queue2?
thanks in advance
regards, Egils |
|
Back to top |
|
 |
mqonnet |
Posted: Tue Feb 18, 2003 7:53 am Post subject: |
|
|
 Grand Master
Joined: 18 Feb 2002 Posts: 1114 Location: Boston, Ma, Usa.
|
You sure can achieve this. But it all depends on how your data arrives. Moreover you(you being the recieving application) MUST have the knowledge of the format the message is packaged in. In the event you have a regular md with a message that consits of the data you mentioned, you need to then know the structure of each message so that you could parse it accordingly in your application.
Bear in mind, there is no ready-to-use function that would do this for you. And it could be a days work or a few hours, depending upon what extent you wish to make this algorithm safe.
To conclude, you have to write code in your receiving app to achieve what you want to. MQ as such does not have any such functionality. Once it delivers the message, it is the responsibility of the application to process it as it wishes to.
Hope this helps.
Cheers.
Kumar _________________ IBM Certified WebSphere MQ V5.3 Developer
IBM Certified WebSphere MQ V5.3 Solution Designer
IBM Certified WebSphere MQ V5.3 System Administrator |
|
Back to top |
|
 |
yaakovd |
Posted: Tue Feb 18, 2003 12:28 pm Post subject: |
|
|
Partisan
Joined: 20 Jan 2003 Posts: 319 Location: Israel
|
Lot of ways to do it in MQSI
1. Compute node C1 always working with last element
a. Analize element and set MQMD.ReplyQ
b. Create OutputRoot.XML[2] with element (you can transform it if needed)
c. Remove last element from XML[1]
Output connector (you can use FlowOrder node) connected to C2 and F:
a. Compute node C2, which copy only XML[2] and next output node will sent it to destination (but by ReplyQ and not static Q)
b. Filter node F will check for cardinality of elements: CARDINALITY(ROOT.xml.InputData.*[]) > 0
TRUE connector wil be conected to input of node C1
FALSE connector (exit from loop) is not connected.
In MQSI 2.1 you can send message directly from compute node and all this can be done in single compute node... _________________ Best regards.
Yaakov
SWG, IBM Commerce, Israel |
|
Back to top |
|
 |
wmqiguy |
Posted: Tue Feb 18, 2003 2:09 pm Post subject: |
|
|
 Centurion
Joined: 09 Oct 2002 Posts: 145 Location: Florida
|
If you have WMQI/MQSI 2.1:
Use PROPAGATE in order to produce multiple outbound messages from one inbound. In the ESQL Reference, there is a quick example that directly mirrors your requirements. Also, do a search from this site for propagate and there are multiple topics that will give you some reading material.
Good Luck!  |
|
Back to top |
|
 |
|
|
 |
|
Page 1 of 1 |
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|
|
|