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 » Exception at Output Node

Post new topic  Reply to topic
 Exception at Output Node « View previous topic :: View next topic » 
Author Message
ghada
PostPosted: Sun Oct 08, 2006 2:08 am    Post subject: Exception at Output Node Reply with quote

Apprentice

Joined: 13 Oct 2005
Posts: 41
Location: Egypt

HI All

Im using WBIMB6
Im using Compute node to change some values in my message, but when the message goes to Output node it fails and throughs exception

here is the last element of the exception list
"Text = Should never call writeTree on something that isn't rendered as an element"

Im using the MRM domain
and I didn't change any thing in the message structure, I only changed some elements' values

thanks in advance

Ghada
Back to top
View user's profile Send private message Yahoo Messenger
fjb_saper
PostPosted: Sun Oct 08, 2006 3:50 am    Post subject: Re: Exception at Output Node Reply with quote

Grand High Poobah

Joined: 18 Nov 2003
Posts: 20756
Location: LI,NY

ghada wrote:
HI All

Im using WBIMB6
Im using Compute node to change some values in my message, but when the message goes to Output node it fails and throughs exception

here is the last element of the exception list
"Text = Should never call writeTree on something that isn't rendered as an element"

Im using the MRM domain
and I didn't change any thing in the message structure, I only changed some elements' values

thanks in advance

Ghada
It really depends on what you changed... If you are using a CWF format and you changed a group level instead of the content of an element level.... The previous few entries on the exception tree should give you more information...

Basically what is happening is that the parser is unable to serialize your message as the content of the different levels does not match the contract.
All the tags may be in the right order but the tag content does not match the definition....

Enjoy
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
ghada
PostPosted: Sun Oct 08, 2006 6:12 am    Post subject: Reply with quote

Apprentice

Joined: 13 Oct 2005
Posts: 41
Location: Egypt

Thanks fjb_saper for your reply

1- Im using XML wire format in my message set
2- the following part is the only part I modify in the message value
-- put the new code in the Output Message --
DECLARE FieldExists BOOLEAN EXISTS(Environment.Variables.Nd[]);
IF FieldExists <> FALSE THEN
SET cursor VALUE = Environment.Variables.Nd;
END IF;
---------------------------
cursor points to the current element Im modifying.
Nd is an element from DB stored in the Environment tree

and I dont change the value in the message unless I have a value returned from DB

the values are changed correctly and all others are left the same as Input message, I dont know what is the difference

thanks in advance

ghada
Back to top
View user's profile Send private message Yahoo Messenger
fjb_saper
PostPosted: Sun Oct 08, 2006 8:45 am    Post subject: Reply with quote

Grand High Poobah

Joined: 18 Nov 2003
Posts: 20756
Location: LI,NY

Well it may have to do that it looks like you are inserting what is basically a DB row into a tree. You might have to insert each field separately...

On the other hand you never said whether the change you are making is described in your message set. It maybe that you would have to clear the message set and message type field from the properties..., but then I would probably try the XMLNS domain and not the MRM domain...

As I have very little detail from you this is mostly on speculation.
Hope it helps some.
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
jefflowrey
PostPosted: Sun Oct 08, 2006 8:59 am    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

Environment.Variables.Nd[] is the list of all children of Environment.Variables.Nd. Sort of.

VALUE Environment.Variables.Nd is the value component of the element Environment.Variables.Nd. But if Environment.Variables.Nd was created by a SELECT or something, then the element itself isn't going to have a value - just children.

I do not expect - but it's been a bit too long since I've read the documentation on the EXISTS function - that the EXISTS function will return anything meaningful for a list, rather than a scalar value.

You should either manually build a tree description of your data, both in environment and OutputRoot, or run some traces. Remember that everything in WMB v6 and WBIMB v5 and WMQI v2.1 is either a Tree or a Scalar, and never an array.

Then go back and think about how you want to manipulate these tree structures.
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
ghada
PostPosted: Mon Oct 09, 2006 12:04 am    Post subject: Reply with quote

Apprentice

Joined: 13 Oct 2005
Posts: 41
Location: Egypt

Hi All

First of all thanks alot for your replys
I wanted to clear somethings
1- the SELECT statement returns only one value which I keep in the Environment tree.
2- all what Im doing is that Im changing the value of some elements in the message D=x becomes D=y where x and y are of the same type, so this does not affect my message set,I think
3- here how Environment tree appears in the debug mode
Environment
Variables
Sd = 2004
Rc = 1999
D_T = 46
C_T = CITIES
S_C_T = CITY
S_C_F = UNCODE
Nd = COUNTRY
and the statement I wrote copies the value COUNTRY correctly to the message, and the message goes out of Compute node without any errors.
4-
Quote:
Environment.Variables.Nd[] is the list of all children of Environment.Variables.Nd. Sort of.

do you mean that the test Im using may not be correct, I think it works I traced it and it changed the message elements only when the condition is true ????!!!!!

thanks for your help in advance

Ghada
Back to top
View user's profile Send private message Yahoo Messenger
kimbert
PostPosted: Mon Oct 09, 2006 12:31 am    Post subject: Reply with quote

Jedi Council

Joined: 29 Jul 2003
Posts: 5542
Location: Southampton

Hi ghada,
Does it work if you remove almost all of your message flow and replace it with a very simple Compute node which changes the value of one element?
If that works, the problem must be introduced by your message transformation logic.
Back to top
View user's profile Send private message
ghada
PostPosted: Mon Oct 09, 2006 3:56 am    Post subject: Reply with quote

Apprentice

Joined: 13 Oct 2005
Posts: 41
Location: Egypt

Hi Kimbert

thanks for your reply
I did as you said, I created a new message flow
MQInput-> Compute -> MQOutput
and I copied all modules I used and it worked
the only change I made to my ESQL Code was:
CREATE COMPUTE MODULE TCC2_Compute
instead of
CREATE COMPUTE MODULE TCC_Compute
and all the rest of the code remained the same.
and I used the same message set.
what does that mean?????

thanks Alot
Ghada
Back to top
View user's profile Send private message Yahoo Messenger
kimbert
PostPosted: Mon Oct 09, 2006 4:28 am    Post subject: Reply with quote

Jedi Council

Joined: 29 Jul 2003
Posts: 5542
Location: Southampton

Quote:
what does that mean?????
It means that something somewhere did not function correctly.
Maybe the tooling failed to pick up some of your changes, and creating a new Compute module fixed that. I suspect we will never know.
Back to top
View user's profile Send private message
ghada
PostPosted: Tue Oct 10, 2006 12:45 am    Post subject: Reply with quote

Apprentice

Joined: 13 Oct 2005
Posts: 41
Location: Egypt

Hi Kimbert
thanks for your help, it works now as I said
thanks Alot

Ghada
Back to top
View user's profile Send private message Yahoo Messenger
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » Exception at Output Node
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.