|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
Dynamic Messages |
« View previous topic :: View next topic » |
Author |
Message
|
timmy |
Posted: Fri Oct 18, 2002 1:14 am Post subject: Dynamic Messages |
|
|
 Novice
Joined: 12 Aug 2002 Posts: 24 Location: Torello
|
Hi!
Is there any way to define a dynamic message set structure and use it with the input message?
Let me explain. I want to transfer the input MRM Message to XML, but the length of the input message is not constant. For example, I have the following type in the Message Set:
A, length 3
B, length 2
C, length 1
D, length 4
The possible input messages that I can recive are:
AAABBCDDDD
AAABBCCDDDD
AAABBCCCDDDD
AAABBCCCCDDDD
AAABBCCCCCDDDD
i.e. C can repeat from 1 to 5 times in the input message.
Can anyone helps me?
Thanks in advance. |
|
Back to top |
|
 |
ernest-ter.kuile |
Posted: Fri Oct 18, 2002 3:42 am Post subject: Re: Dynamic Messages |
|
|
 Apprentice
Joined: 13 May 2002 Posts: 49 Location: KLM Holland
|
timmy wrote: |
the Message Set:
A, length 3
B, length 2
C, length 1
D, length 4
|
I guess "C, length 1" is wrong then. You have to somehow tell the MRM parser where C stops. if the length is dynamic it will not be 1
the only way would be to have it tag delimited.
AAABBCDDDD
AAABBCCDDDD
AAABBCCCDDDD
AAABBCCCCDDDD
AAABBCCCCCDDDD
If this were the real message (which I doubt) the end tag of C would be the letter D
beware that the parser removes the tag from the parsed message so you might miss a D
There doesn't seem to be a way to count backwards from the end.
If you have too much cpu time on your hands , make as many MRM as necessary, try to fit them, catch the exception, and try to fit the next one. Try to order it in such a way as to check to most frequent one first.
If you don't, and the messages are as simple as those displayed above, make a MRM to make the whole message on big string, and use a compute node to parse it as you wish. (this is how we ended up doing it in a similar case)
Last option (the one I dislike the most) is to do the same thing but to work with BLOBs
I guess my answer is not much help, sorry. Hopefully it gives you a direction to look in.
Ernest ter Kuile |
|
Back to top |
|
 |
wmqiguy |
Posted: Fri Oct 18, 2002 5:21 am Post subject: |
|
|
 Centurion
Joined: 09 Oct 2002 Posts: 145 Location: Florida
|
One more quick possibility is the NEONMSG parser. It has more flexibility on how you parse the message and would probably handle this. Unfortunately, it can be a bear to try and implement if you don't already have experience with it. (It has almost as much nuance as MQSI itself.) In other words, you need some time on your hands to learn this.
Another downer on NEONMSG is that the MRM has slowly been adding more and more of this type functionality and who knows how long IBM and Sybase(NEON) will play nice in the sandbox. Could be a problem if you use it and then it is not supported down the road.
Otherwise you are stuck with the other options already presented.
Good luck!  |
|
Back to top |
|
 |
timmy |
Posted: Mon Oct 21, 2002 5:29 am Post subject: |
|
|
 Novice
Joined: 12 Aug 2002 Posts: 24 Location: Torello
|
Thanks a lot for your answers
I've found another solution based on the 'Repeat' Property in the connection tab. Unfortunately I can't make work it.
Does anybody know how can I use the Repeat Property? I'm using v.2.0.2 on Windows NT.
Thanks in advance. |
|
Back to top |
|
 |
JLRowe |
Posted: Mon Oct 21, 2002 5:45 am Post subject: |
|
|
 Yatiri
Joined: 25 May 2002 Posts: 664 Location: South East London
|
The regular expression support in CSD03 might do the job more elegantly. |
|
Back to top |
|
 |
lung |
Posted: Mon Oct 21, 2002 5:20 pm Post subject: |
|
|
 Master
Joined: 27 Aug 2002 Posts: 291 Location: Malaysia
|
timmy,
The 'Repeat' property is used when 'arrays' are used in the message. However, this does not cater for dynamic length. _________________ lung |
|
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
|
|
|
|