Author |
Message
|
jdouch |
Posted: Mon Jul 01, 2002 5:05 am Post subject: |
|
|
Apprentice
Joined: 31 May 2002 Posts: 32 Location: London, UK
|
Karen,
i think the theory of turning the data into a BLOB stems would mean that the data get stored as just a continuous stream of bytes with no XML data structure - therefore the attributes should remain intact as it will try and build the data structure in the LocalEnvironment.
I still haven't had time to look into a resolution to this problem. What i can add to this discussion at the moment is that i actually managed to save off the whole InputRoot to the LocalEnvironment as a BLOB and then bring it back ok - except the problem when you bring it back as i said up top of this discussion is that you have to specify the XML domain. It is at this point that the attribute XML defaults to tagged XML.
It has been suggested to me that by using the CREATE function and defining the DOMAIN value as XML that this should work ??
rgds
Julian
P.S. - Is everyone who is experiencing this problem using 2.1 and the latest CSD applied ? _________________ Julian Douch
E-business Solutions Consultant
WMQ/WMQI Specialist |
|
Back to top |
|
 |
CodeCraft |
Posted: Mon Jul 01, 2002 5:32 am Post subject: |
|
|
Disciple
Joined: 05 Sep 2001 Posts: 195
|
I've a feeling that the tree structure for LocalEnvironment may be what doesn't support attributes, so CREATE *might* not still work. Be interesting if it did. Either way, I think this is probably a defect. |
|
Back to top |
|
 |
kwelch |
Posted: Mon Jul 01, 2002 5:44 am Post subject: |
|
|
 Master
Joined: 16 May 2001 Posts: 255
|
In my case the OutputLocalEnvironment can save the attributes and if you move them individually it's ok but when you try to move them from higher up it doesn't work.
For example:
If I have <A>
<B>fieldb
<C id="field3">fieldc</C>
</B>
</A>
and code the following
SET OutputRoot.XML.A.*[] = InputLocalEnvironment.Variables.A.*[];
I lose the attribute but if I code,
SET OutputRoot.XML.A.B.C.(XML.attr)id = InputLocalEnvironment.Variables.A.B.C.(XML.attr)id; |
|
Back to top |
|
 |
kwelch |
Posted: Wed Jul 10, 2002 7:13 am Post subject: |
|
|
 Master
Joined: 16 May 2001 Posts: 255
|
Hi CodeCraft and Julian
We have CSD02 applied. I tried the CREATE option specifying the DOMAIN and it did not work for me. This was a suggestion from IBM when we posted the problem. I don't know if I am not doing it correctly or what but I was unsuccessful. They did say that by building all the fields and attributes individually we should be able to do tree copies. I was not able to though.
Has anyone else tried this and gotten it to work? If so, could you post some sample code for us to see? Thanks for any suggestions and all past ones!
Karen |
|
Back to top |
|
 |
jdouch |
Posted: Wed Jul 10, 2002 8:08 am Post subject: |
|
|
Apprentice
Joined: 31 May 2002 Posts: 32 Location: London, UK
|
hi karen,
thats not so promising then - they didn't happen to mention if this was a known problem that was going to be fixed by them ?!
could you send me the code you tried so that i can have a go at trying to get it to work?
if your still having problems retrieving fields individually , its going back a while but i think this worked.
-- Save off all of message --
SET OutputLocalEnvironment.Variables.Temp = InputRoot;
-- Bring back known Variables one by one --
SET OutputRoot.XML.Msg.(XML.attr)Field1 = InputLocalEnvironment.Variables.Temp.XML.Msg..(XML.attr)Field1
SET OutputRoot.XML.Msg.(XML.attr)Field2 = InputLocalEnvironment.Variables.Temp.XML.Msg..(XML.attr)Field2
if this doesn't work i shall try and take a look at it again at the same time
thanks
J _________________ Julian Douch
E-business Solutions Consultant
WMQ/WMQI Specialist |
|
Back to top |
|
 |
kwelch |
Posted: Wed Jul 10, 2002 8:17 am Post subject: |
|
|
 Master
Joined: 16 May 2001 Posts: 255
|
Julian,
I will send you the messageset, messageflow and test data of a scaled down version of what we are trying, but I could not get the email function to work from here could you send me your email at kwelch@thehartford.com?
Also for our scenario we are not receiving the XML on the input message, we are building the xml fields and attributes individually which is how they said it is supposed to be done but then we can't copy them from the tree as a group. Yes if we move each one individually it would work but we don't want to do that.
Thanks,
Karen |
|
Back to top |
|
 |
CodeCraft |
Posted: Wed Jul 10, 2002 10:42 pm Post subject: |
|
|
Disciple
Joined: 05 Sep 2001 Posts: 195
|
Can you try the following:
Set OutputLocalEnvironment.XML.Temp.<myvar> = <myassignment>;
Also try this:
Set OutputRoot.XML.Temp.<myvar> = <myassignment>;
Set OutputLocalEnvironment.XML = OutputRoot.XML;
Set OutputRoot.XML = null;
Not sure about create parser in 2.1, but I've been told the trick is to create a genuine XML root in the LocalEnvironment tree, which should then work. |
|
Back to top |
|
 |
kwelch |
Posted: Thu Jul 11, 2002 4:13 am Post subject: |
|
|
 Master
Joined: 16 May 2001 Posts: 255
|
Hi Codecraft,
I thought that was kind of what I was doing by using the CREATE and specifying the DOMAIN of XML? I will give what you said a try and let you know! Thanks!
Karen |
|
Back to top |
|
 |
|