|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
Customised SOAP Fault message during Timeout scenario |
« View previous topic :: View next topic » |
Author |
Message
|
GeneRK4 |
Posted: Tue Apr 29, 2014 1:37 am Post subject: Customised SOAP Fault message during Timeout scenario |
|
|
Master
Joined: 08 Jul 2013 Posts: 220
|
I have customised SOAP Fault message during all Failure scenarios.
Under SOAPFault "detail" section,the customised fault message comes.
This is working well in all scenarios except for Timeouts.
During Timeouts (tested by having less value for MaxclientWait timeout property in SOAPInput node) ,though I have connected HTTPTimeout terminal is connected and customised SOAPFault message is formed,I am getting error as "Replyhandler is no longer valid",and hence the default SOAPFault message is formed.
How to make this work?How to respond back with customised SOAPFault message even during Timeout scenarios?
One suggestion given by one of my fellowmate was setting SOAPInput node MaxClientWait property to very high value,and flow should somehow(setting message expiry?) calculate the actual timeout and create the customised SOAPFault error and Replyhandler is still valid.
Any suggestions for good solution please? |
|
Back to top |
|
 |
fjb_saper |
Posted: Tue Apr 29, 2014 4:42 am Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
Have you tried catching the invalid handler on the Failure terminal?  _________________ MQ & Broker admin |
|
Back to top |
|
 |
Simbu |
Posted: Wed Apr 30, 2014 12:46 am Post subject: |
|
|
 Master
Joined: 17 Jun 2011 Posts: 289 Location: Tamil Nadu, India
|
Have you followed the below?
Quote: |
For SOAPInput nodes the SOAPReply node connected on the HTTP Timeout terminal path must send a SOAP fault response message and the reply status code of 500 cannot be altered. |
|
|
Back to top |
|
 |
GeneRK4 |
Posted: Sun May 04, 2014 10:25 pm Post subject: |
|
|
Master
Joined: 08 Jul 2013 Posts: 220
|
Hi all,
Issue is fixed now.
I found that,the same setting for MaxClientWait property works.
When the Client Timeout property is set with 15 seconds,if WMB cannot respond back within 15seconds,then immediately we are handling the error and sending the customized Timeout response message to the client in next few seconds(Max response time to send the customized HTTP Timeout message by default is 10 seconds;hence <10seconds).
I read below properly from "http://pic.dhe.ibm.com/infocenter/wmbhelp/v8r0m0/index.jsp?topic=%2Fcom.ibm.etools.mft.doc%2Fac56170_.htm" and tested again,
If the Maximum client wait time expires, by default, the listener sends a SOAP fault message to the client, indicating that its timeout has expired. If you have connected the HTTP Timeout terminal, and you are using the HTTP transport, the SOAP Fault message is propagated through the HTTP Timeout terminal. You must include a SOAPReply node in the sequence of nodes connected to the HTTP Timeout terminal and this node must send a valid SOAP Fault message. The listener waits again for the interval defined by the Maximum client wait time (sec) property, or for 10 seconds, whichever is the shorter interval:
•If a response is received before this second interval expires, the listener propagates the response to the client.
•If a response is not received before this second interval expires, the listener sends a SOAP fault message to the client, indicating that its timeout has expired. |
|
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
|
|
|
|