Author |
Message
|
maruthi_P2003 |
Posted: Thu Jan 15, 2004 5:09 am Post subject: messageset |
|
|
Acolyte
Joined: 09 Dec 2003 Posts: 63
|
hi,
Developing a Pub-Sub(Request-Reply) type of applicaion.
I defined a simple Msgflow(inputnode-outputnode) for sending the xml Msg from Publisher to
the Subscriber and setting the MQRFH2 header in the Msg.its working fine.
(following the Scribble example of WMQ2.1,since i am using the Java Base classes of MQ).
For the Reply msgflow..
My problem is that if i import the Message set(import the XML DTD), (i am selecting the Root of Message) its creating the Messageset of the contents of the previous MessageSet only which is allready saved to MRM..since the Root element in both the Cases (Request) &
Reply XML Messages is same , but the format of the XML ,Importing DTD are different.
so how can i create the Message in the Message set Pane of ControlCenter for this case.?
I did not understand still it refering to the Same message even though they are different XML DTDs.i did any mistake.
could anybody plesae help.
regards |
|
Back to top |
|
 |
kimbert |
Posted: Thu Jan 15, 2004 5:44 am Post subject: |
|
|
 Jedi Council
Joined: 29 Jul 2003 Posts: 5542 Location: Southampton
|
I'm not sure I understand what you mean. Let me try and guess.
1. You have a working message flow (Request), which uses a message set (Request message set). This is working OK.
2. You have created another message flow (Reply)
3. You are trying to create another message set (Reply message set), but you cannot make the DTD importer do what you want?
Am I correct so far? If so, maybe you could explain the actual problem again.
Also, please tell us which version of WMQI you are using. |
|
Back to top |
|
 |
wooda |
Posted: Thu Jan 15, 2004 6:39 am Post subject: |
|
|
 Master
Joined: 21 Nov 2003 Posts: 265 Location: UK
|
Hi Maruthi
Did you mean you tried to import both DTDs into the same message set and found it didn't work
If that's the case you need to be using two different message sets.
You can not have two same named messages in the same message set.
Messages are unique within messaage sets can't have two the same.
So put one in one message set and the other in another message set.
Then when you map from REQUESt to REPLY you map from one message set to the other. |
|
Back to top |
|
 |
maruthi_P2003 |
Posted: Thu Jan 15, 2004 7:15 pm Post subject: |
|
|
Acolyte
Joined: 09 Dec 2003 Posts: 63
|
hi,
Thanks for the help.I try to import DTD into same msgset,Now i created a diff msgset and i try to import DTD again...
In the Request msgset DTD and Response Msgset DTD some elements are common..so i try save to shared repository.i am getting the following error.
---------------------------------------------
BIP1854E: Error creating or updating message repository resource (Element, SourceSystemIdentifier): duplicate identifier (SourceSystemIdentifier).
An error occurred when updating or creating the message repository resource (Element SourceSystemIdentifier) because another resource in the message set exists with a duplicate identifier. No two resources in the message set may have the same identifier. Also no two resources of the same type in the message set may have identifiers that differ only in case.
Change the identifier and try again. If this is not permitted, delete the resource and recreate it with a different identifier.
--------------
but i dont want to chage the element name...how can i solve this problem.
regards
maruthi |
|
Back to top |
|
 |
wooda |
Posted: Fri Jan 16, 2004 1:59 am Post subject: |
|
|
 Master
Joined: 21 Nov 2003 Posts: 265 Location: UK
|
Hi -
The problem must be you have duplicate identifiers in the same message set.
I assume from your comments you are working with WMQI v2.1.
The problem lies in the fact in v2.1 all elements are global hence the conflict. V5 supports local elements properly but there is a work around in v2.1 CSD3 which will help
Use a function which was introduced in v2.1 CSD3 . Which is to use pseudo local elements in your model. You prefix the identifier with a unique part separated with a ^. You keep the XML name the same so it matches the tags in your message. You can reference the element in ESQL without using the prefix. As long as you don't have an ambiguos model then this should work. So the only place the prefix appears is in the tooling identifier field. |
|
Back to top |
|
 |
wooda |
Posted: Fri Jan 16, 2004 2:11 am Post subject: |
|
|
 Master
Joined: 21 Nov 2003 Posts: 265 Location: UK
|
I forgot to add an example of what I was talking about so here you are ...
Consider the message
<message>
<to><address>the Whitehouse</address></to>
<from><address>10 Downing Street</address></from>
</message>
So we have to different element called message.
Define them thus;
Element Name = address
Element ID = typeTo^address
XML tag name = address
Element Name = address
Element ID = typeFrom^address
XML tag name = address
in ESQL we reference the elements by the "short" name without the prefix and ^ character.
eg.
SET OutputRoot.MRM.to.address = '101 nowhere street';
SET OutputRoot.MRM.from.address = '1 somewhere avenue' ;
The MRM will understand which is which by context. |
|
Back to top |
|
 |
maruthi_P2003 |
Posted: Fri Jan 16, 2004 10:02 am Post subject: |
|
|
Acolyte
Joined: 09 Dec 2003 Posts: 63
|
Hi zanda,
Thank you very mush for the help.
I am using the WMQI Broker 2..1 version+CSD 5.0 on windows2000.
The problem must be you have duplicate identifiers in the same message set.
no i don't have duplicates identifier in the same Message set.
i have 2 different msgsets.
1.Msgset1
2.Msgset2
&
and Two Message flows.
1. Request_flow.(working fine)
2. Reply_flow.( this is working if i saved into workspace,checked in allinworkspace, if u try to save into a shared configuration ..i am getting the above error.)..
Since i am setting the MQRFH2 Header in my Message .. I am just using the Simple msgflow(Inputnode-->outputnode)..
extract from MQExplorer of my MQRFh2 header.
-----------------------------------------------------------
RFH .... Ü..."... ¸... .... ¸...t... <psc><Command>Publish</Command><Topic>TRequest</Topic><QMgrName>QM1</QMgrName>
<QName>MQSI_ REPLYQ</QName></psc><mcd><Msd>xml</Msd><Set></Set><Type></Type><Fmt> </Fmt></mcd>
------------------------------------------------------------
Why this is not saving to the Shared Configuration ..i dont understand..if its the duplicate element(but they are in different Messagesets.)..But i have So Many Messagesets which has some elements matching with
the other Messagesets.
How can i solve this problem...?
plz help.
Thanks in advance.
cheers ,
maruthi |
|
Back to top |
|
 |
wooda |
Posted: Mon Jan 19, 2004 4:23 am Post subject: |
|
|
 Master
Joined: 21 Nov 2003 Posts: 265 Location: UK
|
Hi -
You say you don't have duplicate identifiers in the same msgset.
But the error you mentioned (BIP1854E) is given because of duplicate Id's in the same msgset.
If you have elements with the same ID in different msgsets this will NOT cause an error.
Maybe you have elements in the message sets which are not visable in the editor. Make sure you add all you elements to the workspace and verify there are no duplicate ID's.
If you need to have elements with the same name in the same msgset then the approach I described earlier is required. |
|
Back to top |
|
 |
|