ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » Setting value in output message

Post new topic  Reply to topic
 Setting value in output message « View previous topic :: View next topic » 
Author Message
ajomillar
PostPosted: Mon Oct 27, 2003 2:33 pm    Post subject: Setting value in output message Reply with quote

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
View user's profile Send private message MSN Messenger
Craig B
PostPosted: Tue Oct 28, 2003 10:08 am    Post subject: Reply with quote

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
View user's profile Send private message
ajomillar
PostPosted: Tue Oct 28, 2003 3:00 pm    Post subject: Reply with quote

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
View user's profile Send private message MSN Messenger
beepydi
PostPosted: Wed Oct 29, 2003 7:47 am    Post subject: Reply with quote

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
View user's profile Send private message Yahoo Messenger
ajomillar
PostPosted: Wed Oct 29, 2003 1:03 pm    Post subject: Reply with quote

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
View user's profile Send private message MSN Messenger
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » Setting value in output message
Jump to:  



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
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.