Author |
Message
|
Sai K |
Posted: Thu Jun 23, 2011 8:54 am Post subject: TImer nodes with webservice soap nodes |
|
|
Novice
Joined: 23 Jun 2011 Posts: 22
|
I am developing a flow to call webservice
My requirment is, I need to call the webservice...If the webservice is down, I need to wait for 30 minutes and then again try after
that time, If again the webservice is down it should
again wait for 23 hours and then try after that...
I designed the flow like this.. After Soap Request node, the 'out' terminal is connected to output queue..
The 'Failure' Terminal is connected to compute node + timeOut Control + timeOutNotification + soapRequest+SoapExtract+o/p Queue)
calculating waiting time in the compute node and passing to the Environmenvariables)
I am successfully implimenting first trail it is going to the Timer nodes waiting there for 30 minutes
but after the second timeoutnotification node it is going to the failure terminal instead of going to the OUT terminal...
I am getting the blob under message ( Error is like this Blob->UnKnownParserName->MBTIME01) and getting below exception:
BLOB
UnknownParserName:CHARACTER:MBTIME01
BLOB:BLOB:[B@303c303c
Please advice me on this !!!  |
|
Back to top |
|
 |
lancelotlinc |
Posted: Thu Jun 23, 2011 9:11 am Post subject: |
|
|
 Jedi Knight
Joined: 22 Mar 2010 Posts: 4941 Location: Bloomington, IL USA
|
Don't use timer nodes. Create two holding queues. One is 15 min intervals, one is 23 hour intervals. Set up a cron job invokes a shell script to change GET_DISABLE to GET_ENABLE on the right intervals for each queue. If the WS is down, put the message in the right holding queue. Have a second flow to read the 15 min queue and a third flow to read the 23 hours queue. _________________ http://leanpub.com/IIB_Tips_and_Tricks
Save $20: Coupon Code: MQSERIES_READER |
|
Back to top |
|
 |
mqjeff |
Posted: Thu Jun 23, 2011 9:27 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
Don't do what lancelotlinc suggested.
You should put a Trace node after the timeOut Notification node, and make sure you understand fully the contents of the message you receive back from this node. |
|
Back to top |
|
 |
Sai K |
Posted: Thu Jun 23, 2011 11:38 am Post subject: |
|
|
Novice
Joined: 23 Jun 2011 Posts: 22
|
this is the trace file that i got , i connected to the failure terminal of the timeout notification...
since i am getting this error : UnknownParserName:CHARACTER:MBTIME01
I am tring to add MQMD after timeoutnotification in another compute node, its not making any difference...
( ['MQROOT' : 0x1c37f110]
(0x01000000:Name):RecoverableException = (
(0x03000000:NameValue):File = 'F:\build\S700_P\src\DataFlowEngine\TimeoutControl\ImbTimeoutNotificationNode.cpp' (CHARACTER)
(0x03000000:NameValue):Line = 1055 (INTEGER)
(0x03000000:NameValue):Function = 'ImbTimeoutNotificationNode::propagateFailureDeleteMsg' (CHARACTER)
(0x03000000:NameValue):Type = 'ComIbmTimeoutNotificationNode' (CHARACTER)
(0x03000000:NameValue):Name = 'TimerMsgflow#FCMComposite_1_11' (CHARACTER)
(0x03000000:NameValue):Label = 'TimerMsgflow.Timeout Notification' (CHARACTER)
(0x03000000:NameValue):Catalog = 'BIPmsgs' (CHARACTER)
(0x03000000:NameValue):Severity = 3 (INTEGER)
(0x03000000:NameValue):Number = 4619 (INTEGER)
)
) |
|
Back to top |
|
 |
mqjeff |
Posted: Thu Jun 23, 2011 11:43 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
Don't connect it to the failure terminal of the timeoutnotification.
Connect it to the OUT terminal of the timeoutnotification. |
|
Back to top |
|
 |
Sai K |
Posted: Thu Jun 23, 2011 11:44 am Post subject: |
|
|
Novice
Joined: 23 Jun 2011 Posts: 22
|
It is not going to the OUT Terminal of the the timeoutnotification node.. It is going to failure terminal.. |
|
Back to top |
|
 |
mqjeff |
Posted: Thu Jun 23, 2011 11:47 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
Okay, well.
My point is that, somewhere in your flow, you are constructing a message that does not match the format that is expected by the node that is trying to process the message.
So you need to look at the messages you create as they come out of the nodes that create them. |
|
Back to top |
|
 |
Sai K |
Posted: Fri Jun 24, 2011 6:19 am Post subject: |
|
|
Novice
Joined: 23 Jun 2011 Posts: 22
|
What I have observed is, after the second computenode & timeout controle node the start time is not getting updated with the caliculated value...
Do i need to add any thing in the code...
same thing is working with the first of timer nodes...
to reset the parser to the XMLNSC i am adding ResetContent Descriptor but it is not making any sence... so could you please suggest me.
Below is the trace information ..
( ['MQROOT' : 0x1c37f110]
(0x01000000:Name):RecoverableException = (
(0x03000000:NameValue):File = 'F:\build\S700_P\src\DataFlowEngine\TimeoutControl\ImbTimeoutNotificationNode.cpp' (CHARACTER)
(0x03000000:NameValue):Line = 1055 (INTEGER)
(0x03000000:NameValue):Function = 'ImbTimeoutNotificationNode::propagateFailureDeleteMsg' (CHARACTER)
(0x03000000:NameValue):Type = 'ComIbmTimeoutNotificationNode' (CHARACTER)
(0x03000000:NameValue):Name = 'SMS_Payment#FCMComposite_1_11' (CHARACTER)
(0x03000000:NameValue):Label = 'TimerMsgflow.Timeout Notification' (CHARACTER)
(0x03000000:NameValue):Catalog = 'BIPmsgs' (CHARACTER)
(0x03000000:NameValue):Severity = 3 (INTEGER)
(0x03000000:NameValue):Number = 4619 (INTEGER)
)
)
( ['MQROOT' : 0x1c9c3fa8]
(0x01000000:Name):RecoverableException = (
(0x03000000:NameValue):File = 'F:\build\S700_P\src\DataFlowEngine\TimeoutControl\ImbTimeoutNotificationNode.cpp' (CHARACTER)
(0x03000000:NameValue):Line = 1055 (INTEGER)
(0x03000000:NameValue):Function = 'ImbTimeoutNotificationNode::propagateFailureDeleteMsg' (CHARACTER)
(0x03000000:NameValue):Type = 'ComIbmTimeoutNotificationNode' (CHARACTER)
(0x03000000:NameValue):Name = 'TimerMsgflow#FCMComposite_1_11' (CHARACTER)
(0x03000000:NameValue):Label = 'TimerMsgflow.Timeout Notification' (CHARACTER)
(0x03000000:NameValue):Catalog = 'BIPmsgs' (CHARACTER)
(0x03000000:NameValue):Severity = 3 (INTEGER)
(0x03000000:NameValue):Number = 4619 (INTEGER)
)
)
( ['MQROOT' : 0x1bf9f7a0]
(0x01000000:Name):RecoverableException = (
(0x03000000:NameValue):File = 'F:\build\S700_P\src\DataFlowEngine\TimeoutControl\ImbTimeoutNotificationNode.cpp' (CHARACTER)
(0x03000000:NameValue):Line = 1055 (INTEGER)
(0x03000000:NameValue):Function = 'ImbTimeoutNotificationNode::propagateFailureDeleteMsg' (CHARACTER)
(0x03000000:NameValue):Type = 'ComIbmTimeoutNotificationNode' (CHARACTER)
(0x03000000:NameValue):Name = 'TimerMsgflow#FCMComposite_1_11' (CHARACTER)
(0x03000000:NameValue):Label = 'TimerMsgflow.Timeout Notification' (CHARACTER)
(0x03000000:NameValue):Catalog = 'BIPmsgs' (CHARACTER)
(0x03000000:NameValue):Severity = 3 (INTEGER)
(0x03000000:NameValue):Number = 4619 (INTEGER)
)
)
( ['MQROOT' : 0x1b0acb88]
(0x01000000:Name):RecoverableException = (
(0x03000000:NameValue):File = 'F:\build\S700_P\src\DataFlowEngine\TimeoutControl\ImbTimeoutNotificationNode.cpp' (CHARACTER)
(0x03000000:NameValue):Line = 1055 (INTEGER)
(0x03000000:NameValue):Function = 'ImbTimeoutNotificationNode::propagateFailureDeleteMsg' (CHARACTER)
(0x03000000:NameValue):Type = 'ComIbmTimeoutNotificationNode' (CHARACTER)
(0x03000000:NameValue):Name = 'TimerMsgflow#FCMComposite_1_11' (CHARACTER)
(0x03000000:NameValue):Label = 'TimerMsgflow.Timeout Notification' (CHARACTER)
(0x03000000:NameValue):Catalog = 'BIPmsgs' (CHARACTER)
(0x03000000:NameValue):Severity = 3 (INTEGER)
(0x03000000:NameValue):Number = 4619 (INTEGER)
)
)
( ['MQROOT' : 0x1beb2dc0]
(0x01000000:Name):RecoverableException = (
(0x03000000:NameValue):File = 'F:\build\S700_P\src\DataFlowEngine\TimeoutControl\ImbTimeoutNotificationNode.cpp' (CHARACTER)
(0x03000000:NameValue):Line = 1055 (INTEGER)
(0x03000000:NameValue):Function = 'ImbTimeoutNotificationNode::propagateFailureDeleteMsg' (CHARACTER)
(0x03000000:NameValue):Type = 'ComIbmTimeoutNotificationNode' (CHARACTER)
(0x03000000:NameValue):Name = 'TimerMsgflow#FCMComposite_1_11' (CHARACTER)
(0x03000000:NameValue):Label = 'TimerMsgflow.Timeout Notification' (CHARACTER)
(0x03000000:NameValue):Catalog = 'BIPmsgs' (CHARACTER)
(0x03000000:NameValue):Severity = 3 (INTEGER)
(0x03000000:NameValue):Number = 4619 (INTEGER)
)
)
( ['MQROOT' : 0x1a74c1a8]
(0x01000000:Name):RecoverableException = (
(0x03000000:NameValue):File = 'F:\build\S700_P\src\DataFlowEngine\TimeoutControl\ImbTimeoutNotificationNode.cpp' (CHARACTER)
(0x03000000:NameValue):Line = 1055 (INTEGER)
(0x03000000:NameValue):Function = 'ImbTimeoutNotificationNode::propagateFailureDeleteMsg' (CHARACTER)
(0x03000000:NameValue):Type = 'ComIbmTimeoutNotificationNode' (CHARACTER)
(0x03000000:NameValue):Name = 'TimerMsgflow#FCMComposite_1_11' (CHARACTER)
(0x03000000:NameValue):Label = 'TimerMsgflow.Timeout Notification' (CHARACTER)
(0x03000000:NameValue):Catalog = 'BIPmsgs' (CHARACTER)
(0x03000000:NameValue):Severity = 3 (INTEGER)
(0x03000000:NameValue):Number = 4619 (INTEGER)
)
)
( ['MQROOT' : 0x1bf931c0]
(0x01000000:Name):RecoverableException = (
(0x03000000:NameValue):File = 'F:\build\S700_P\src\DataFlowEngine\TimeoutControl\ImbTimeoutNotificationNode.cpp' (CHARACTER)
(0x03000000:NameValue):Line = 1055 (INTEGER)
(0x03000000:NameValue):Function = 'ImbTimeoutNotificationNode::propagateFailureDeleteMsg' (CHARACTER)
(0x03000000:NameValue):Type = 'ComIbmTimeoutNotificationNode' (CHARACTER)
(0x03000000:NameValue):Name = 'SMS_Payment#FCMComposite_1_11' (CHARACTER)
(0x03000000:NameValue):Label = 'TimerMsgflow.Timeout Notification' (CHARACTER)
(0x03000000:NameValue):Catalog = 'BIPmsgs' (CHARACTER)
(0x03000000:NameValue):Severity = 3 (INTEGER)
(0x03000000:NameValue):Number = 4619 (INTEGER)
)
)
( ['MQROOT' : 0x1bf931c0]
(0x01000000:Name):RecoverableException = (
(0x03000000:NameValue):File = 'F:\build\S700_P\src\DataFlowEngine\TimeoutControl\ImbTimeoutNotificationNode.cpp' (CHARACTER)
(0x03000000:NameValue):Line = 1055 (INTEGER)
(0x03000000:NameValue):Function = 'ImbTimeoutNotificationNode::propagateFailureDeleteMsg' (CHARACTER)
(0x03000000:NameValue):Type = 'ComIbmTimeoutNotificationNode' (CHARACTER)
(0x03000000:NameValue):Name = 'TimerMsgflow#FCMComposite_1_11' (CHARACTER)
(0x03000000:NameValue):Label = 'TimerMsgflow.Timeout Notification' (CHARACTER)
(0x03000000:NameValue):Catalog = 'BIPmsgs' (CHARACTER)
(0x03000000:NameValue):Severity = 3 (INTEGER)
(0x03000000:NameValue):Number = 4619 (INTEGER)
)
)
Root:
( ['MQROOT' : 0x1bff7758]
(0x01000000:Name):Properties = ( ['MQPROPERTYPARSER' : 0x1bd07518]
(0x03000000:NameValue):MessageSet = '' (CHARACTER)
(0x03000000:NameValue):MessageType = '' (CHARACTER)
(0x03000000:NameValue):MessageFormat = '' (CHARACTER)
(0x03000000:NameValue):Encoding = 546 (INTEGER)
(0x03000000:NameValue):CodedCharSetId = 437 (INTEGER)
(0x03000000:NameValue):Transactional = TRUE (BOOLEAN)
(0x03000000:NameValue):Persistence = FALSE (BOOLEAN)
(0x03000000:NameValue):CreationTime = GMTTIMESTAMP '2011-06-24 13:35:34.010' (GMTTIMESTAMP)
(0x03000000:NameValue):ExpirationTime = -1 (INTEGER)
(0x03000000:NameValue):Priority = 0 (INTEGER)
(0x03000000:NameValue):ReplyIdentifier = X'53004d0053002d00540049004d0045005200520000000000' (BLOB)
(0x03000000:NameValue):ReplyProtocol = 'UNKNOWN' (CHARACTER)
(0x03000000:NameValue):Topic = NULL
(0x03000000:NameValue):ContentType = '' (CHARACTER)
(0x03000000:NameValue):IdentitySourceType = '' (CHARACTER)
(0x03000000:NameValue):IdentitySourceToken = '' (CHARACTER)
(0x03000000:NameValue):IdentitySourcePassword = '' (CHARACTER)
(0x03000000:NameValue):IdentitySourceIssuedBy = '' (CHARACTER)
(0x03000000:NameValue):IdentityMappedType = '' (CHARACTER)
(0x03000000:NameValue):IdentityMappedToken = '' (CHARACTER)
(0x03000000:NameValue):IdentityMappedPassword = '' (CHARACTER)
(0x03000000:NameValue):IdentityMappedIssuedBy = '' (CHARACTER)
)
(0x01000000:Name):MQMD = ( ['MQHMD' : 0x1a74bc50]
(0x03000000:NameValue):SourceQueue = '' (CHARACTER)
(0x03000000:NameValue):Transactional = TRUE (BOOLEAN)
(0x03000000:NameValue):Encoding = 546 (INTEGER)
(0x03000000:NameValue):CodedCharSetId = 437 (INTEGER)
(0x03000000:NameValue):Format = 'MBTIME01' (CHARACTER)
(0x03000000:NameValue):Version = 1 (INTEGER)
(0x03000000:NameValue):Report = 0 (INTEGER)
(0x03000000:NameValue):MsgType = 8 (INTEGER)
(0x03000000:NameValue):Expiry = -1 (INTEGER)
(0x03000000:NameValue):Feedback = 0 (INTEGER)
(0x03000000:NameValue):Priority = 0 (INTEGER)
(0x03000000:NameValue):Persistence = 0 (INTEGER)
(0x03000000:NameValue):MsgId = X'414d51204d4237514d47522020202020acee014e20085616' (BLOB)
(0x03000000:NameValue):CorrelId = X'53004d0053002d00540049004d0045005200520000000000' (BLOB)
(0x03000000:NameValue):BackoutCount = 0 (INTEGER)
(0x03000000:NameValue):ReplyToQ = ' ' (CHARACTER)
(0x03000000:NameValue):ReplyToQMgr = 'MB7QMGR ' (CHARACTER)
(0x03000000:NameValue):UserIdentifier = 'SYSTEM ' (CHARACTER)
(0x03000000:NameValue):AccountingToken = X'060101120000000000000000000000000000000000000000000000000000000b' (BLOB)
(0x03000000:NameValue):ApplIdentityData = ' ' (CHARACTER)
(0x03000000:NameValue):PutApplType = 11 (INTEGER)
(0x03000000:NameValue):PutApplName = 'I\7.0\bin\DataFlowEngine.exe' (CHARACTER)
(0x03000000:NameValue):PutDate = DATE '2011-06-24' (DATE)
(0x03000000:NameValue):PutTime = GMTTIME '13:35:34.010' (GMTTIME)
(0x03000000:NameValue):ApplOriginData = ' ' (CHARACTER)
(0x03000000:NameValue):GroupId = X'000000000000000000000000000000000000000000000000' (BLOB)
(0x03000000:NameValue):MsgSeqNumber = 1 (INTEGER)
(0x03000000:NameValue):Offset = 0 (INTEGER)
(0x03000000:NameValue):MsgFlags = 0 (INTEGER)
(0x03000000:NameValue):OriginalLength = -1 (INTEGER)
)
(0x01000000:Name):BLOB = ( ['none' : 0x1bde7d60]
(0x03000000:NameValue):UnknownParserName = 'MBTIME01' (CHARACTER)
(0x03000000:NameValue):BLOB = X'22010000000000000100000000000000000000000100000000000000220200000800000053004d005300310016000000470045004e00450052004900430052004f004f00540000000000600000003000300030003000300030003000300030003000300030003000300030003000300030003000300030003000300030003000300030003000300030003000300030003000300030003000300030003000300030003000300030003000300030000c00000058004d004c004e00530043001e00000053004d0053005f005000610079006d0065006e0074005f004d005300460000000000000000001400000032003000310031002d00300036002d00320034001e000000300038003a00330035003a00350032002e003700350039003200350031004d442020020000000000000008000000ffffffff0000000022020000b80400004d515354522020200000000000000000414d51204d4237514d47522020202020acee014e2008aa02000000000000000000000000000000000000000000000000000000002020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020204d4237514d4752202020202020202020202020202020202020202020202020202020202020202020202020202020202050617275636875726920202016010515000000014ae4889aed42aa93036a9be803000000000000000000000b20202020202020202020202020202020202020202020202020202020202020200b0000007265204d515c6a6176615c6a72655c62696e5c6a617661772e6578653230313130363234313333343437343520202020000000000000000000000000000000000000000000000000010000000000000000000000ffffffff3c4e53313a736d735f7061796d656e7420786d6c6e733a4e53313d22687474703a2f2f736d73223e3c6163636f756e745f69643e363636383631383135393c2f6163636f756e745f69643e3c7061796d656e743e31302e30353c2f7061796d656e743e3c747970653e7061796d656e747265633c2f747970653e3c636f6e6669726d6174696f6e3e414e4459434f53543c2f636f6e6669726d6174696f6e3e3c2f4e53313a736d735f7061796d656e743e' (BLOB)
)
)
LocalEnvironment:
ExceptionList:
( ['MQROOT' : 0x1bff7530]
(0x01000000:Name):RecoverableException = (
(0x03000000:NameValue):File = 'F:\build\S700_P\src\DataFlowEngine\TimeoutControl\ImbTimeoutNotificationNode.cpp' (CHARACTER)
(0x03000000:NameValue):Line = 1055 (INTEGER)
(0x03000000:NameValue):Function = 'ImbTimeoutNotificationNode::propagateFailureDeleteMsg' (CHARACTER)
(0x03000000:NameValue):Type = 'ComIbmTimeoutNotificationNode' (CHARACTER)
(0x03000000:NameValue):Name = 'TimerMsgflow#FCMComposite_1_11' (CHARACTER)
(0x03000000:NameValue):Label = 'TimerMsgflow.Timeout Notification' (CHARACTER)
(0x03000000:NameValue):Catalog = 'BIPmsgs' (CHARACTER)
(0x03000000:NameValue):Severity = 3 (INTEGER)
(0x03000000:NameValue):Number = 4619 (INTEGER)
)
) |
|
Back to top |
|
 |
|