|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
Throwing after exiting a HTTPRequest Failure terminal |
« View previous topic :: View next topic » |
Author |
Message
|
goffinf |
Posted: Mon Oct 31, 2011 10:41 am Post subject: Throwing after exiting a HTTPRequest Failure terminal |
|
|
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 &1, on port &2, on path &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 |
|
 |
|
|
 |
|
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
|
|
|
|