|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
Input Transaction with an & in a tag |
« View previous topic :: View next topic » |
Author |
Message
|
LH33 |
Posted: Fri Dec 12, 2003 6:23 am Post subject: Input Transaction with an & in a tag |
|
|
Master
Joined: 21 Nov 2002 Posts: 200
|
Is there any way to trap a message and write it to an error queue that comes into a message flow that has unsupported XML characters in it? I know that sending systems should send well-formed XML, but in my situation, there is a free form comments tag that can include unsupported characters. For example, <Comment>Cross & Charles Sts.</Comment> The transaction that has this tag, causes the input queue to fill up while the message flow that reads that queue tries to continually process the transaction with the unsupported data in it.
Thanks for any help!! Lisa |
|
Back to top |
|
 |
jfluitsm |
Posted: Fri Dec 12, 2003 3:51 pm Post subject: |
|
|
Disciple
Joined: 24 Feb 2002 Posts: 160 Location: The Netherlands
|
Lisa,
First define a dead letter queue in the queue-manager properties (that is MQ not MQSI), this will prevent messages from 'looping' on errors.
Futher you can wire the catch or failure terminals of the MQInput-node, this gives you some control over the messages. _________________ Jan Fluitsma
IBM Certified Solution Designer WebSphere MQ V6
IBM Certified Solution Developer WebSphere Message Broker V6 |
|
Back to top |
|
 |
kirani |
Posted: Fri Dec 12, 2003 8:37 pm Post subject: |
|
|
Jedi Knight
Joined: 05 Sep 2001 Posts: 3779 Location: Torrance, CA, USA
|
IF the XML is not well-formed then WMQI will throw a parting error. AS Jan said, connect your catch or failure terminal to an Error queue using MQOutput node. _________________ 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 |
|
 |
LH33 |
Posted: Mon Dec 15, 2003 5:36 am Post subject: |
|
|
Master
Joined: 21 Nov 2002 Posts: 200
|
Kiran,
I have both the catch and failure node wired to an error queue. The Depth shows 1, however when I go to look at the actual message, there is no data. any ideas?
Thanks, Lisa |
|
Back to top |
|
 |
kirani |
Posted: Mon Dec 15, 2003 5:03 pm Post subject: |
|
|
Jedi Knight
Joined: 05 Sep 2001 Posts: 3779 Location: Torrance, CA, USA
|
Lisa,
Do you have any compute node in between your MQInput node and the MQOutput node in your catch/failure path? If you do, please review the properties of this node, most likely you have selected "Copy Headers" only option.
First, try to removing any node in between MQInput and MQOutput in failure/catch path and see if the message shows up correctly on the failq/catchq. After you do that, start adding other nodes to capture "Error Info". When adding nodes, please make sure you don't try to re-parse the message, this also means don't have any Trace node with ${Root} in it. _________________ 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 |
|
 |
LH33 |
Posted: Tue Dec 16, 2003 7:16 am Post subject: |
|
|
Master
Joined: 21 Nov 2002 Posts: 200
|
Kiran,
I checked all my Compute nodes and they have "Copy Entire Message" selected. I then deleted everything but the MQInput node and wired the Catch terminal to a MQOutput terminal error queue. I ran the XML and it did not appear on either the Dead Letter Queue or the error queue. I then wired the Failure node to an MQOutput terminal error queue and ran the XML and still nothing appeared anywhere. I then wired the Out terminal to an MQOutput terminal error queue and ran the XML and the queue depth showed as 1, however there was no data in the message. I am using RFHUTIL.exe to view the contents of the queues. It just looks like as soon as it hits the MQInput node, the message is eliminated, but goes nowhere.
If I remove the "&" from the input XML (shown above), it works fine. Any suggestions on what to do?
Thanks, Lisa |
|
Back to top |
|
 |
LH33 |
Posted: Tue Dec 16, 2003 11:10 am Post subject: |
|
|
Master
Joined: 21 Nov 2002 Posts: 200
|
Kiran,
I forgot to include the input XML. The tag that is bolded has the "&" in it. As mentioned before, when I remove the "&" it works fine. When I run it with the "&", the error queue depth (wired to the out node of the input terminal) says 1, however when I view the message, nothing is there.
Thanks for any help!!
Here it is:
<SyncSpecFieldReport revision="1.0.0" environment="Test">
<ApplicationArea>
<Sender>
<Component>ROMS</Component>
<Confirmation>Never</Confirmation>
<AuthorizationId>C09244</AuthorizationId>
</Sender>
<CreationDateTime>2003-11-12T09:25:49</CreationDateTime>
<BODId>D66031D1E5F34400874711A5E1A32139</BODId>
</ApplicationArea>
<DataArea>
<SpecFieldReport>
<Location>
<Address>
<FreeFormat>R 5906 PARK-HGTS AV, -</FreeFormat>
</Address>
<Customer>
<Name>RAKHIL GOLDFARB</Name>
</Customer>
</Location>
<AgencyCode>EOM</AgencyCode>
<Shift>
<ShiftCode>DAY-4</ShiftCode>
<ShiftDate>2003-11-12</ShiftDate>
</Shift>
<WorkCodeUDFS>
<WorkCodeUDF index="71">Isolated def. Cable btwn trans. 0015 & 0016.</WorkCodeUDF>
</WorkCodeUDFS>
</SpecFieldReport>
</DataArea>
</SyncSpecFieldReport> |
|
Back to top |
|
 |
|
|
 |
|
Page 1 of 1 |
|
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
|
|
|
|