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 » user defined error handler message flow is not invoked

Post new topic  Reply to topic
 user defined error handler message flow is not invoked « View previous topic :: View next topic » 
Author Message
lium
PostPosted: Mon Apr 15, 2013 2:02 pm    Post subject: user defined error handler message flow is not invoked Reply with quote

Disciple

Joined: 17 Jul 2002
Posts: 184

I am using WMB Version 8 and application.
We implement the webservice with SOAPInput
I found when there was exception, including runtime excepiton and user exception, the user defined error handelr message flow which connects to SOAPInput's Failure and Capture and Timeout terminal was not invoked.
Message broker will capture the exception and return the soap fault to the user as the following,

Code:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
   <soapenv:Body>
      <soapenv:Fault>
         <faultcode>soapenv:Server</faultcode>
         <faultstring>BIP3113E: Exception detected in message flow XXX.XXX (broker XXX)</faultstring>
         <detail>
            <Text>BIP2230E: Error detected whilst processing a message in node 'XXX.XXX'.
The message broker detected an error whilst processing a message in node 'XXX.XXX'. An exception has been thrown to cut short the processing of the message.
See the following messages for details of the error. : F:\build\slot1\S800_P\src\DataFlowEngine\ImbComputeNode.cpp: 497: ImbComputeNode::evaluate: ComIbmComputeNode: XXX#FCMComposite_1_8
BIP2488E:  ('XXX.Main', '12.4') Error detected whilst executing the SQL statement ''PROPAGATE TO TERMINAL 'out2' FINALIZE DEFAULT DELETE DEFAULT;''.
The message broker detected an error whilst executing the given statement. An exception has been thrown to cut short the SQL program.
See the following messages for details of the error. : F:\build\slot1\S800_P\src\DataFlowEngine\ImbRdl\ImbRdlStatementGroup.cpp: 666: SqlStatementGroup::execute: :
BIP2230E: Error detected whilst processing a message in node 'XXX.XXX'.
The message broker detected an error whilst processing a message in node 'XXX.XXX'. An exception has been thrown to cut short the processing of the message.
See the following messages for details of the error. : F:\build\slot1\S800_P\src\DataFlowEngine\ImbComputeNode.cpp: 497: ImbComputeNode::evaluate: ComIbmComputeNode: XXX#FCMComposite_1_9.XXX#FCMComposite_1_8
BIP2488E:  ('xxx.Main', '14.4') Error detected whilst executing the SQL statement ''THROW EXCEPTION  CATALOG 'XXX' MESSAGE xxx VALUES( errorMsg);''.
The message broker detected an error whilst executing the given statement. An exception has been thrown to cut short the SQL program.
See the following messages for details of the error. : F:\build\slot1\S800_P\src\DataFlowEngine\ImbRdl\ImbRdlStatementGroup.cpp: 666: SqlStatementGroup::execute: :
BIP2999I: A user generated ESQL exception has been thrown. The additional information provided with this exception is: ''XXX XXXX'' 'XXX.XXX' '{2}' '{3}' '{4}' '{5}' '{6}' '{7}' '{8}' '{9}'
This exception was thrown by a THROW EXCEPTION statement. This is the normal behavior of the THROW statement.
Since this is a user generated exception, the user action is determined by the message flow and the type of exception thrown. : F:\build\slot1\S800_P\src\DataFlowEngine\ImbRdl\ImbRdlThrowExceptionStatements.cpp: 238: SqlThrowExceptionStatement::execute: ComIbmComputeNode: XXX#FCMComposite_1_9.XXX#FCMComposite_1_8</Text>
         </detail>
      </soapenv:Fault>
   </soapenv:Body>
</soapenv:Envelope>



From above you can see this exception is thrown by user as the following:
THROW EXCEPTION CATALOG 'XXX' MESSAGE xxx VALUES( errorMsg);''.


Can any one tell why the user error handler message flow is not invoked while message broker generates its own soap fault?


Also, I want to confirm that some time the user error handler message flow would be invoked for the same user THROW statement.

I don't know if there is a setting somewhere to control this or not.

Anyone helps on this would be greatly appreciated.

Thanks,
Back to top
View user's profile Send private message
Vitor
PostPosted: Mon Apr 15, 2013 5:16 pm    Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

What does the user defined error handler attached to the terminals in question do? Specifically what does it do in terms of responding back to the client which invoked the web service?
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
lium
PostPosted: Mon Apr 15, 2013 5:33 pm    Post subject: Reply with quote

Disciple

Joined: 17 Jul 2002
Posts: 184

The user error handler will also return the soap fault message, however, it will capture the error code and error message from the backend system and put them in the soap fault message and return back.

I debug through this error, I can see the exception was captured in the soap input node, however, it will NOT invoke the user error handling message flow.
Back to top
View user's profile Send private message
rekarm01
PostPosted: Mon Apr 15, 2013 11:36 pm    Post subject: Re: user defined error handler message flow is not invoked Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 1415

lium wrote:
I am using WMB Version 8 and application.
We implement the webservice with SOAPInput
I found when there was exception, including runtime excepiton and user exception, the user defined error handelr message flow which connects to SOAPInput's Failure and Capture and Timeout terminal was not invoked.

Is the error handler implemented as a WMBv8 subflow? Prior to v8.0.0.2, there were known problems with multiply connected terminals for subflows.
Back to top
View user's profile Send private message
dogorsy
PostPosted: Tue Apr 16, 2013 5:53 am    Post subject: Reply with quote

Knight

Joined: 13 Mar 2013
Posts: 553
Location: Home Office

Do you have an EXIT HANDLER in your ESQL ? if you, you need to resignal.
Back to top
View user's profile Send private message
lium
PostPosted: Tue Apr 16, 2013 6:03 am    Post subject: Reply with quote

Disciple

Joined: 17 Jul 2002
Posts: 184

I don't have EXIT HANDLER,
Thanks for the reply from rekarm01, it sounds like that is the problem we have.

I will try to install the fix and to see if it works.

Thanks,
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » user defined error handler message flow is not invoked
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.