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 » Throwing after exiting a HTTPRequest Failure terminal

Post new topic  Reply to topic
 Throwing after exiting a HTTPRequest Failure terminal « View previous topic :: View next topic » 
Author Message
goffinf
PostPosted: Mon Oct 31, 2011 10:41 am    Post subject: Throwing after exiting a HTTPRequest Failure terminal Reply with quote

Chevalier

Joined: 05 Nov 2005
Posts: 401

version: 6.1.0.3

I have this arrangement of nodes in part of a flow :-

HTTP_Request (Failure terminal) -> Compute -> Throw

I want to do a couple of things if the HTTP request fails, hence the Compute connected to the failure terminal, and then I just want to throw.

However, when the Throw node is reached, instead of the ExceptionList that was propagated from the failure terminal (and STILL exists as an output tree from the Compute), a new exception is thrown that contains the Insert Text :-

'Wrong type exception'

The ExceptionList from the HTTPReq failure terminal was a SocketException. Here's what it looks like :-

Code:

   <ExceptionList>
      <RecoverableException>
         <File>F:\build\S610_P\src\DataFlowEngine\ImbDataFlowNode.cpp</File>
         <Line>957</Line>
   <Function>ImbDataFlowNode::createExceptionList</Function>
         <Type>ComIbmWSRequestNode</Type>
         ...
         <RecoverableException>
            ...
            <RecoverableException>
               <File>F:\build\S610_P\src\WebServices\WSLibrary\ImbWSRequest.cpp</File>
               <Line>536</Line>
               <Function>ImbWSRequest::makeWSRequest</Function>
               <Type/>
               <Name/>
               <Label/>
               <Catalog>BIPv610</Catalog>
               <Severity>3</Severity>
               <Number>3152</Number>
               <Text>A Web Service request has detected a SOCKET error whilst invoking a web service located at host &amp;1, on port &amp;2, on path &amp;3.</Text>
               <Insert>
                  <Type>5</Type>
                  <Text>localhost</Text>
               </Insert>
               <Insert>
                  <Type>2</Type>
                  <Text>8192</Text>
               </Insert>
               <Insert>
                  <Type>5</Type>
                  <Text>/commfw/services/serviceName</Text>
               </Insert>
               <SocketException>
                  <File>F:\build\S610_P\src\CommonServices\ImbBasicSocket.cpp</File>
                  <Line>476</Line>
                  <Function>ImbBasicSocket::connectTimeout</Function>
                  <Type/>
                  <Name/>
                  <Label/>
                  <Catalog>BIPv610</Catalog>
                  <Severity>3</Severity>
                  <Number>3150</Number>
                  <Text>An error occurred whilst performing a socket operation: getsockopt</Text>
                  <Insert>
                     <Type>5</Type>
                     <Text>::connect::select()</Text>
                  </Insert>
                  <Insert>
                     <Type>2</Type>
                     <Text>10061</Text>
                  </Insert>
                  <Insert>
                     <Type>14</Type>
                     <Text>No connection could be made because the target machine actively refused it.
</Text>
                  </Insert>
               </SocketException>
            </RecoverableException>
         </RecoverableException>
      </RecoverableException>
   </ExceptionList>


This is what I get after the THROW node :-

Code:

<ExceptionList>
      <RecoverableException>
         <File>F:\build\S610_P\src\CommonServices\ImbValue.cpp</File>
         <Line>978</Line>
         <Function>ImbValue::typeError</Function>
         <Type/>
         <Name/>
         <Label/>
         <Catalog>BIPv610</Catalog>
         <Severity>3</Severity>
         <Number>2328</Number>
         <Text>Wrong type exception</Text>
         <Insert>
            <Type>5</Type>
            <Text>CHARACTER</Text>
         </Insert>
         <Insert>
            <Type>5</Type>
            <Text>INTEGER</Text>
         </Insert>
      </RecoverableException>
   </ExceptionList>


I don't touch the ExceptionList at all in the Compute node, and I can see the ExceptionList that came from the HTTPRq failure terminal in the output trees ?

I took a couple of user traces (this one is Normal but the Debug one wasn't any more revealing) :-

Code:

UserTrace   BIP4101I: Exception thrown by throw node 'myflow.Throw'.
                      The throw node 'myflow.Throw' has received a message and will throw an exception as this is its normal behavior.
                      No user action required.
Error       BIP2232E: Error detected whilst handling a previous error in node 'myflow.Throw'.
                      The message broker has detected an error in node 'myflow.Throw' whilst handling a previous error.
                      See the following messages for details of the exception list associated with the original error.  Thereafter messages will be associated with the new error.
UserTrace   BIP4081I: Message propagated to catch terminal from try-catch node 'myflow.TryCatch'.
                      The try-catch node 'myflow.TryCatch' has caught an exception which occurred in a node connected to its try terminal.
                      The message has been augmented with an exception list and is propagating it to any nodes connected to its catch terminal for further processing.
                      See the following messages for details of the exception list.
                      No user action required.
RecoverableException  BIP2328E: A value of SQL datatype ''CHARACTER'' encountered when datatype ''INTEGER'' expected.
                      The value of SQL datatype 'CHARACTER' was encountered, but a value of SQL datatype 'INTEGER' was expected.
                      This message will be accompanied with others which will give the higher level context for this error.
                      Look at these other messages to determine the root source of the problem.


The final lines show the problem :-

The value of SQL datatype 'CHARACTER' was encountered, but a value of SQL datatype 'INTEGER' was expected

but I have no idea whay, or how I can get around it ?

Suggestions very welcome

Cheers

Fraser.
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 » Throwing after exiting a HTTPRequest Failure terminal
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.