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 » Error handling

Post new topic  Reply to topic
 Error handling « View previous topic :: View next topic » 
Author Message
mqhelpless
PostPosted: Fri Dec 30, 2005 1:11 am    Post subject: Error handling Reply with quote

Apprentice

Joined: 13 Jul 2005
Posts: 33

I have a message flow that takes from an input Q and output to several Qs (using the dynamic DestinationList method) . I need to do error handling such that whenever a few of the several output Qs are not reachable, I need to identify them and place an error msg in related Qs. What I need to know is can I identify the various Qs which fail when the msg was being put across?
Back to top
View user's profile Send private message
elvis_gn
PostPosted: Fri Dec 30, 2005 2:56 am    Post subject: Reply with quote

Padawan

Joined: 08 Oct 2004
Posts: 1905
Location: Dubai

Hi mqhelpless,

I am not going to say it with sureity that the flow will not be able to handle checking if the queue exists, as I think when the message is outputted, if the queue does not exist it will be sent to the dead letter queue.

OR

Perhaps if you are using Java then when you try to connect to a queue, you will get an exception as "Queue Does not exist" and hence handle it.

I could be wrong about the first, second is definitely possible, or maybe v6.0 can have a solution for this.....not very sure.

Regards.
Back to top
View user's profile Send private message Send e-mail
premkumar
PostPosted: Sun Jan 01, 2006 11:15 pm    Post subject: Reply with quote

Apprentice

Joined: 24 Feb 2004
Posts: 40

Hi,

Yes u can identify the error message and the queue that is not available.

Just u need so built a seperate error handler flow....if the destination queue is not available then the XML exception message will look like this

Code:


<Error>
 <TimeOfError>2006-01-02 12:43:45.827</TimeOfError>
 <MessageID>414d512042524b4e4557514d2020202043afb4432000135e</MessageID>
 <ExceptionList>
  <File>F:\build\S500_P\src\DataFlowEngine\ImbMqOutputNode.cpp</File>
  <Line>751</Line>
  <Function>ImbMqOutputNode::evaluate</Function>
  <Type>ComIbmMQOutputNode</Type>
  <Name>TKML_ERR_FLOW#FCMComposite_1_2</Name>
  <Label>TKML_ERR_FLOW.MQOutput</Label>
  <Text>Caught exception and rethrowing</Text>
  <Catalog>BIPv500</Catalog>
  <Severity>3</Severity>
  <Number>2230</Number>
  <RecoverableException>
   <File>F:\build\S500_P\src\DataFlowEngine\ImbMqOutputNode.cpp</File>
   <Line>1874</Line>
   <Function>ImbMqOutputNode::putMessage</Function>
   <Type>ComIbmMQOutputNode</Type>
   <Name>TKML_ERR_FLOW#FCMComposite_1_2</Name>
   <Label>TKML_ERR_FLOW.MQOutput</Label>
   <Text>Failed to open queue</Text>
   <Catalog>BIPv500</Catalog>
   <Severity>3</Severity>
   <Number>2604</Number>
   <Insert>
    <Type>5</Type>
    <Text></Text>
   </Insert>
   <Insert>
    <Type>5</Type>
    <Text>TESTTTT</Text>
   </Insert>
   <Insert>
    <Type>2</Type>
    <Text>2</Text>
   </Insert>
   <Insert>
    <Type>2</Type>
    <Text>2085</Text>
   </Insert>
  </RecoverableException>
 </ExceptionList>
</Error>



For eg : The above error message says the mq error code 2085 (MQRC_UNKNOWN_OBJECT_NAME) and also the queue name "TESTTTT" which is not available in the Queue manager specified.

From the Exception tree u can get the Queue name and the error code. the error handler flow can be enhanced as per ur requirement.
_________________
Thanks and Regards,
Premkumar.S
Back to top
View user's profile Send private message Send e-mail Yahoo Messenger
mqhelpless
PostPosted: Mon Jan 02, 2006 5:15 pm    Post subject: Reply with quote

Apprentice

Joined: 13 Jul 2005
Posts: 33

Hi thanks for the input. I will try it out .. Cheers!
Back to top
View user's profile Send private message
mqhelpless
PostPosted: Thu Jan 05, 2006 5:44 pm    Post subject: Reply with quote

Apprentice

Joined: 13 Jul 2005
Posts: 33

Hi, I have the following message tree. I need help in traversing this tree.
<exception ..>
<a>
....
....
<b>
......
......
<c> ......... </c>
<d> ......... </d>
<e> ......... </e>
</b>
</a>
<exception ..>

- where a,b,c,d,e are all recoverableexceptions

specifically I need to go into <c>, <d> and <e>. i've read up on move lastchild, but is not too sure what it accomplishes. when i do a 'move start lastchild' assuming beforehand i had done a 'Declare start REFERENCE TO ExceptionList.*[1];', where would the lastchild leads me to?
Back to top
View user's profile Send private message
elvis_gn
PostPosted: Thu Jan 05, 2006 8:20 pm    Post subject: Reply with quote

Padawan

Joined: 08 Oct 2004
Posts: 1905
Location: Dubai

Hi mqhelpless,

When u declare start to ExceptionList.*[1];
it means that start is at <a>

If you do a move lastchild, it will move start to the last child within <a>...

Regards.
Back to top
View user's profile Send private message Send e-mail
angka
PostPosted: Thu Jan 05, 2006 9:33 pm    Post subject: Reply with quote

Chevalier

Joined: 20 Sep 2005
Posts: 406

Hi elvis_gn,

You mean (e) in this case is it?

Thank you

Regards.
Back to top
View user's profile Send private message
elvis_gn
PostPosted: Thu Jan 05, 2006 9:43 pm    Post subject: Reply with quote

Padawan

Joined: 08 Oct 2004
Posts: 1905
Location: Dubai

Hi angka,

Quote:
You mean (e) in this case is it?


No, it would be <b>....

I would have meant <e>, if start was referencing <b>

LastChild means the last simple/complex type of a parent complex type.

Refer the ESQL pdf, search for LASTCHILD, u'll understand the usage perfectly.

Regards.
Back to top
View user's profile Send private message Send e-mail
premkumar
PostPosted: Thu Jan 05, 2006 9:52 pm    Post subject: Reply with quote

Apprentice

Joined: 24 Feb 2004
Posts: 40

Hi,

To access the last field of the tree...


* Field[<] indicates the last element.
* Field[<1] indicates the last element.
* Field[<2] indicates the last but one element (the penultimate element).


Pls read the ESQL document before asking these basic questions.....
_________________
Thanks and Regards,
Premkumar.S
Back to top
View user's profile Send private message Send e-mail 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 » Error handling
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.