Author |
Message
|
dhaksr |
Posted: Thu Jun 20, 2002 1:34 pm Post subject: Message Domain Property |
|
|
Apprentice
Joined: 20 Feb 2002 Posts: 37
|
This in continuance to a small flame ignited in this forum
http://www.webmq.com/phpBB2/viewtopic.php?t=3787
Quote: |
1. There is no such property as "MessageDomain". It is implicit by the parser (tree) root and not an actual valid member of the "Properties" subtree/folder. The documentation which references it is incorrect.
|
MessageDomain is a valid property.
If the input Message is in MRM format but output message is in XML
format, I just cant apply RCD. I will need a SET statement to set the
Message Property. |
|
Back to top |
|
 |
CodeCraft |
Posted: Sat Jun 22, 2002 11:48 am Post subject: |
|
|
Disciple
Joined: 05 Sep 2001 Posts: 195
|
The context in which this was being discussed was:
Properties.MessageDomain
Not:
The RCD node Message Domain Property.
They are different things.
There is no valid member of the WMQI Message Properties Folder (subtree) named "MessageDomain", and, if the message domain field in an RCD node properties dialog is not populated, it WILL NOT attempt to read the property value from a tree element identified by:
Root.Properties.MessageDomain
The domain of a message is always identified by the parser name, being MRM, XML, BLOB, or other parser, in the root of the message body, that is, the last child of "Root" in the overall message tree.
An RCD node resets this, such that, if on entering an RCD node a message has changed from it's original parser, the bitstream for the message is recreated according to the changed tree and original parser, the domain is then reset, and on any subsequent parse, WMQI will attempt to parse the same bitstream using the new domain parser.
Last edited by CodeCraft on Sat Jun 22, 2002 11:54 am; edited 1 time in total |
|
Back to top |
|
 |
kirani |
Posted: Sun Jun 23, 2002 7:00 pm Post subject: |
|
|
Jedi Knight
Joined: 05 Sep 2001 Posts: 3779 Location: Torrance, CA, USA
|
CodeCraft wrote: |
1. There is no such property as "MessageDomain". It is implicit by the parser (tree) root and not an actual valid member of the "Properties" subtree/folder. The documentation which references it is incorrect. |
This is NOT true. I have used this property myself in MQSI 2.0.1. You can use this property to convert input MRM message into XML format (without using RCD node).
You will find lots of IBM document where they are setting MessageDomain property in Properties folder. For instance, if you search for "MessageDomain" in ESQL reference manual you will find code where they are setting this property. SupportPac IA04 also sets this property. Setting this property otherwise is not necessary but you are recommended to include this for completeness.
I would like to hear from other people who have used this property. _________________ 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 |
|
 |
CodeCraft |
Posted: Sun Jun 23, 2002 11:15 pm Post subject: |
|
|
Disciple
Joined: 05 Sep 2001 Posts: 195
|
I don't wish to be combatative about this: I'll happily concede this once someone posts an actual example flow where they've demonstrated this working in such a way that removing references to "MessageDomain" materially affects flow behaviour (in the context of the messages message domain).
However, let me iterate again:
If you set MessageDomain in the "Properties" folder and then trace it, it doesn't even appear in the trace because it's not seen by WMQI as a valid member of the "Properties" folder.
Nor does it materially affect RCD, eg: By passing an XML message into an RCD, where "Properties.MessageDomain" has first been set to "BLOB", the message exits the RCD still in the XML domain, not the "BLOB" domain.
References in the documents to "Properties.Message" domain have been accepted at the 2.1 CSD 02 level as incorrect and will be removed in due course. |
|
Back to top |
|
 |
dhaksr |
Posted: Mon Jun 24, 2002 12:24 pm Post subject: |
|
|
Apprentice
Joined: 20 Feb 2002 Posts: 37
|
Neither am I being combative.... we all trying to brush up our
little stuff between the ears
I tested two things ... Converting an MRM to XML and another conversion
from XML to MRM. Both of them works fine without setting the
MessageDomain. Even after commenting the MessageDomain I was able
to achieve desired results. Hope IBM removes the references in the manual.
Code: |
--SET OutputRoot.Properties.MessageDomain = 'MRM' ;
SET OutputRoot.Properties.MessageSet = 'DODF8J407M001' ;
SET OutputRoot.Properties.MessageType = 'dPerfStruct' ;
--SET OutputRoot.Properties.MessageFormat = 'CWF' ;
|
|
|
Back to top |
|
 |
kirani |
Posted: Mon Jun 24, 2002 5:26 pm Post subject: |
|
|
Jedi Knight
Joined: 05 Sep 2001 Posts: 3779 Location: Torrance, CA, USA
|
Codecraft,
Neither i wish to be combative
Unfortunately, I don't have access to MQSI 2.0.1, so I cannot simulate what I said in my earlier post. If interested, our friends out there can try this on their machine (MQSI 2.0.1) and post the results here.
If I can recollect correctly, the logic was something like this:
1. Create a new Message set with minimum elements.
FNAME - Type:STRING - Length:5
LNAME - Type:STRING - Length:5
2. Create a Type element NM and add FNAME, LNAME elements to it.
3. In Types folder, under CWF tab set the length of FNAME to 5 and LNAME to 5.
4. Check-in this type element.
5. Create a new message of type NM. Check-in the message.
6. Checkin the messageset.
Create a Simple message flow,
MQInput1(out)->RCD1(out)->Compute1(out)->MQOutput1
MQInput1(catch)->Trace1
MQInput1
--------
Read input message as BLOB
Set input queue name.
Trace1
------
Write exception to a file using ${ExceptionList}
RCD1
----
Set Message Domain, Message Type, Message Set and Message Format of newly created message set (from step 1-6).
Compute1
--------
Select Copy complete Message.
SET OutputRoot.Properties.MessageDomain = 'XML';
MQOutput1
---------
Write to some output queue.
In above message flow, If we comment out the line in compute node where we are setting MessageDomain, we will get the same output message in CWF format.
I partially agree with what you are saying. Reference to this property has been removed from MQSI 2.0.2 onwards. But, MessageDomain is a valid property in MQSI 2.0.1 _________________ 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 |
|
 |
CodeCraft |
Posted: Mon Jun 24, 2002 10:49 pm Post subject: |
|
|
Disciple
Joined: 05 Sep 2001 Posts: 195
|
That may help clear things up. When I have a minute I'll check this out on 2.01. |
|
Back to top |
|
 |
pathipati |
Posted: Sat Jun 23, 2007 7:54 pm Post subject: |
|
|
Master
Joined: 03 Mar 2006 Posts: 296
|
Quote: |
SET OutputRoot.Properties.MessageDomain = 'XML'; |
How to set MessageDomain property in Java Code? |
|
Back to top |
|
 |
WBI_User21 |
Posted: Sun Jun 24, 2007 1:27 am Post subject: |
|
|
 Voyager
Joined: 12 Jun 2007 Posts: 98
|
Properties folder is available in ESQL only ..... |
|
Back to top |
|
 |
jefflowrey |
Posted: Sun Jun 24, 2007 3:20 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
|
Back to top |
|
 |
|