|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
Please point me in the right direction? (multipart messages) |
« View previous topic :: View next topic » |
Author |
Message
|
kimbert |
Posted: Thu Jan 04, 2007 8:13 am Post subject: |
|
|
 Jedi Council
Joined: 29 Jul 2003 Posts: 5543 Location: Southampton
|
No problem. I've thought about this a bit more. You should be able to do it like this:
- Check the Message Identity field.
- If it is empty, take a safe path through your flow. Make sure that the safe path does not reference the embedded message.
- Otherwise follow the normal path which references the embedded message.
This technique only works if you set 'Parse Timing' to 'On demand' - otherwise the parser will attempt to parse the embedded message before you get a chance to check whether you have one.
Please ignore the previous posts about using ESQL to guide the parsing. That technique will work, but it is less elegant. |
|
Back to top |
|
 |
Sandman |
Posted: Thu Jan 04, 2007 10:25 am Post subject: |
|
|
Centurion
Joined: 16 Oct 2001 Posts: 134 Location: Lincoln, RI
|
Works like a charm!
I guess my original plan wasn't that far off afterall?
Thanks again for all of your help.
Sandman
Here's the test code:
Code: |
CASE InputBody.InqPolicy.POLICY_INFO.LINE_OF_BUSINESS
WHEN '' THEN
-- No embedded LOB message so only reference header and coverage areas
SET Environment.Variables.CoverageType =
InputBody.InqPolicy.Coverage.COVERAGE_INFO.COVERAGE_GROUP_AREA.COVERAGE_AREA.COVERAGE_TYPE;
WHEN 'PolicyAuto' THEN
-- Embedded LOB message present, so reference at will
SET Environment.Variables.DriverType =
InputBody.InqPolicy.LOB.msg_AUTOAREA.DRIVER_ROLE_ASSOC.DRIVER_INFO.DRIVER_TYPE;
WHEN 'PolicyHome' THEN
-- Embedded LOB message present, so reference at will
SET Environment.Variables.LegalTitle =
InputBody.InqPolicy.LOB.msg_HOMEAREA.LEGAL_TITLE;
ELSE
SET Environment.Variables.Error = 'Unknown LOB message identity';
END CASE; |
|
|
Back to top |
|
 |
kimbert |
Posted: Thu Jan 04, 2007 1:14 pm Post subject: |
|
|
 Jedi Council
Joined: 29 Jul 2003 Posts: 5543 Location: Southampton
|
Excellent news. Sorry I didn't suggest that earlier.
One multipart problem down, one to go ( have you seen the thread started by hdjur? ). |
|
Back to top |
|
 |
Sandman |
Posted: Mon Jan 22, 2007 6:06 am Post subject: Parse timing = On Demand? |
|
|
Centurion
Joined: 16 Oct 2001 Posts: 134 Location: Lincoln, RI
|
Hello again,
I have a different message now and it's parsing fine. However, even when I set Parse Timing = On Demand, it still seems to parse the entire message - including a couple embedded messages - right after my MQInput node? (I have a breakpoint set right after it and at that point, I can already see the entire message and all its "children" in the debugger.)
I thought "On Demand" would wait til I actually referenced part of the embedded messages before parsing?
Thank you. |
|
Back to top |
|
 |
kimbert |
Posted: Mon Jan 22, 2007 6:15 am Post subject: |
|
|
 Jedi Council
Joined: 29 Jul 2003 Posts: 5543 Location: Southampton
|
Hi Sandman,
The debugger may be muddying the waters here - on-demand parsing definitely works. Unless you've found a defect, of course...
btw, this should really be on a different thread - it's not related to the parent question at all. |
|
Back to top |
|
 |
Sandman |
Posted: Mon Jan 22, 2007 6:17 am Post subject: |
|
|
Centurion
Joined: 16 Oct 2001 Posts: 134 Location: Lincoln, RI
|
ahh... ok. Thanks.
I thought about a new thread, but I didn't know if the "On demand" parsing might perhaps work differently based on the fact that I am doing multipart messaging.
Fear not... I promise not to post every remaining question I might ever have under this one thread.
Thanks again. |
|
Back to top |
|
 |
|
|
|
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
|
|
|
|