+

Search Tips   |   Advanced Search

WSIFOperation - Synchronous and asynchronous timeouts reference


When you use the Web Services Invocation Framework (WSIF) with the JMS we can set timeouts for synchronous and asynchronous operations.

Default values for these timeouts are defined in the wsif.properties file:

# maximum number of milliseconds to wait for a response to a synchronous request.
# Default value if not defined is to wait forever. wsif.syncrequest.timeout=10000

# maximum number of seconds to wait for a response to an async request.
# if not defined or invalid defaults to no timeout wsif.asyncrequest.timeout=60

If we use these default values, a synchronous request (such as a WSIFOperation interface executeRequestResponseOperation method call) times out after ten seconds, and an asynchronous request (such as a WSIFOperation interface executeRequestResponseAsync method call) times out after sixty seconds.

The code that processes both of these timeout values uses milliseconds as its unit of time. The WSIFProperties class getAsyncTimeout method multiplies the wsif.asyncrequest.timeout value by 1000, to convert the value from seconds to milliseconds.

We can override these default values for a given request by writing a WSDL extension that sets a JMS property on the operation request with the <jms:property> and <jms:propertyValue> WSDL elements. Set the name of the property to be the name of the timeout from the WSIF properties file.

The following example sets synchronous requests to time out after two minutes (120 seconds):

<jms:propertyValue name="wsif.syncrequest.timeout" type="xsd:string" value="120000"/>
and the following example disables asynchronous timeouts (a value of zero means wait forever):

<jms:propertyValue name="wsif.asyncrequest.timeout" type="xsd:string" value="0"/>

When an asynchronous timeout expires, no listener or message data base waiting for the response is notified. The asynchronous timeout is only used to tell the correlation service that the stored WSIFOperation can be deleted.

See about the correlation service, see WSIFOperation - Asynchronous interactions reference.



 

Related tasks


Manage WSIF
Enable a WSIF client to invoke a Web service through JMS

 

Related


WSIFOperation - Context
wsif.properties file - Initial contents
Example: Writing the WSDL extensions that enable the WSIF service to access an underlying service at a JMS destination
WSIFOperation interface