|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
unresolved element mrm |
« View previous topic :: View next topic » |
Author |
Message
|
Nizam |
Posted: Mon Oct 04, 2004 4:19 pm Post subject: unresolved element mrm |
|
|
Disciple
Joined: 10 Feb 2004 Posts: 160
|
Hi,
I read the incoming message from a queue as blob. At one point in the flow the message is transformed into a mrm(copy book) message using a reset content descriptor.
I was unable to read certain fields of the message. I put a trace and found that part of the message was under the field 'unresolved choice' .
Trace Output:
(0x01000021):MRM = (
(0x0300000B):aaa = 'xxxxxxxx'
(0x01000013):bbb = (
(0x01000013):ccc = (
(0x0300000B):ddd = 'yyyyyyyy'
(0x0300000B):fill_0 = ''
(0x0300000B):eee = 'yyyyyyyyyyyyyyyy'
)
UNRESOLVED CHOICE = X'5456494341303131202d204455504c4943415445205449434b4554204e554d4245525320202020202020202020202020202020202020202020202020202020202020202020202020'
)
I need to read the message in unresolved choice. Can anyone help me find a solution.
Thanks |
|
Back to top |
|
 |
jefflowrey |
Posted: Mon Oct 04, 2004 4:36 pm Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
You need to force the choice to be resolved one way or another before you can access the data inside the choice.
This is done by accessing fields by name.
So if for instance, your choice type contained either RecordA or RecordB, and you knew that a value of 'yyyyyyyyyyyyyyyy' for field eee meant that the choice type should be RecordA, then you would either set or access RecordA by name. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
kirani |
Posted: Mon Oct 04, 2004 10:44 pm Post subject: |
|
|
Jedi Knight
Joined: 05 Sep 2001 Posts: 3779 Location: Torrance, CA, USA
|
You can resolve the choice by referring to an element within your choice in a trace node. For example,
Code: |
${Root.MRM.<your_choice_element_name>.<inner_element_name>}
|
_________________ Kiran
IBM Cert. Solution Designer & System Administrator - WBIMB V5
IBM Cert. Solutions Expert - WMQI
IBM Cert. Specialist - WMQI, MQSeries
IBM Cert. Developer - MQSeries
|
|
Back to top |
|
 |
kimbert |
Posted: Tue Oct 05, 2004 12:28 am Post subject: |
|
|
 Jedi Council
Joined: 29 Jul 2003 Posts: 5542 Location: Southampton
|
Quote: |
You can resolve the choice by referring to an element within your choice in a trace node |
That will only work if your message flow always uses the same branch of the choice. The correct solution is to write some ESQL in the Compute node which accesses the branch which you want. The parser will automatically parse the unsesolved buffer in the way your ESQL requires.
e.g.
Code: |
SET myInteger = InputRoot.MRM.ParentField.Choice.IntegerElement; |
or
Code: |
SET myChar = InputRoot.MRM.ParentField.Choice.StringElement; |
|
|
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
|
|
|
|