|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
Setting value in output message |
« View previous topic :: View next topic » |
Author |
Message
|
ajomillar |
Posted: Mon Oct 27, 2003 2:33 pm Post subject: Setting value in output message |
|
|
 Centurion
Joined: 22 Aug 2003 Posts: 121 Location: Milwaukee, WI
|
Being new to Integrator, I'm having a problem with simply setting a new value in an output message. I've imported a DTD as a message set using the XML parser. I created a simple message flow: InputNode -> ComputeNode -> OutputNode. I selected the "Copy entire message" which generates the "Set OutputRoot = InputRoot;" in ESQL. I dragged and dropped an element from the Output pane into the ESQL editor, then added SET and the assigned value. Below is the final ESQL code:
Code: |
SET OutputRoot = InputRoot;
- - Enter SQL below this line. SQL above this line might be regenerated, causing any modifications to be lost.
SET "OutputRoot"."XML"."SYNC_CUSTOMER_010"."DATAAREA"."SYNC_CUSTOMER"."Customer"."SortName" = 'TESTVALUE';
|
The output message is an exact copy of the input message with the following structure appended:
Code: |
<SYNC_CUSTOMER_010>
<DATAAREA>
<SYNC_CUSTOMER>
<Customer>
<SortName>TESTVALUE</SortName>
</Customer>
</SYNC_CUSTOMER>
</DATAAREA>
</SYNC_CUSTOMER_010>
|
Is there something I should check in the ComputeNode or message itself? It seems the parser can't navigate to the element, so it adds the structure to the end of the output message. Any thoughts? |
|
Back to top |
|
 |
Craig B |
Posted: Tue Oct 28, 2003 10:08 am Post subject: |
|
|
Partisan
Joined: 18 Jun 2003 Posts: 316 Location: UK
|
Hi,
What was your Message Domain set to in the MQInput node? It is possible you left this as the default of BLOB. If this had of been set to XML then you would have got XML writing errors on the MQOutput node because you would have had two root elements, especially since you say the structure was appended on the end of your original message. Therefore if this new XML structure was appended on the end of your original input message, then the only logical conclusion is that the XML domain was not used on input. This would mean that you would have a different body folder in the InputRoot tree such as BLOB or MRM. Then in your compute node you have created an XML body folder as well. This would leave you with an XML folder and one of the BLOB or MRM folders in the OutputRoot tree. This is allowed, and the Root Parser will just called each folders owning parser to generate its part of the bitstream for the output message. So if you had set the input node to BLOB, then the BLOB parser would be called, and would produce the original input message. Then the XML parser would be called to render a bitstream for your newly created XML folder. This would then give you an output message like you are seeing.
In your append you mentioned you had imported a DTD. This would suggest that you would have set the Input node to the MRM domain. if this is the case, then you will need to access fields such as InputRoot.MRM and OutputRoot.MRM instead of using the XML folder name.
Hope this helps. _________________ Regards
Craig |
|
Back to top |
|
 |
ajomillar |
Posted: Tue Oct 28, 2003 3:00 pm Post subject: |
|
|
 Centurion
Joined: 22 Aug 2003 Posts: 121 Location: Milwaukee, WI
|
Thanks for the tip...I set the Message Domain to XML. The appended message is gone but the new value is not appearing in the target element. Output message looks exactly the same as the input. |
|
Back to top |
|
 |
beepydi |
Posted: Wed Oct 29, 2003 7:47 am Post subject: |
|
|
Newbie
Joined: 17 Oct 2003 Posts: 5
|
Hi
Deploy your message flow in different execution group and stop the old one.
Cheers,
Dilip |
|
Back to top |
|
 |
ajomillar |
Posted: Wed Oct 29, 2003 1:03 pm Post subject: |
|
|
 Centurion
Joined: 22 Aug 2003 Posts: 121 Location: Milwaukee, WI
|
I found out that the test message I used wasn't the correct one. I'm now able to set the values as intended. Thanks to all for your help.  |
|
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
|
|
|
|