DefaultCommonsHTTPClientProperties timeout not used.
----------------------------------------------------
Key: AXIS-2493
URL: http://issues.apache.org/jira/browse/AXIS-2493
Project: Apache Axis
Type: Bug
Components: Basic Architecture
Versions: 1.4
Environment: Windows XP
Reporter: Rémi Flament
Attachments: axis-timeout.patch
The DefaultCommonsHTTPClientProperties timeout properties are not used in Axis
because MessageContext has a default timeout.
So even if you use this code :
AxisProperties.setProperty(DefaultCommonsHTTPClientProperties.CONNECTION_DEFAULT_CONNECTION_TIMEOUT_KEY,
"3000");
AxisProperties.setProperty(DefaultCommonsHTTPClientProperties.CONNECTION_DEFAULT_SO_TIMEOUT_KEY,
"3000");
before calling a webservice, the default timeout (60 seconds) is still used.
Here's why :
In MessageContext the property timeout = Constants.DEFAULT_MESSAGE_TIMEOUT (60
seconds), and in CommonsHTTPSender, in the method addContextInfo :
// optionally set a timeout for the request
if (msgContext.getTimeout() != 0) {
httpClient.getHttpConnectionManager().getParams().setSoTimeout(msgContext.getTimeout());
since msgContext.getTimeout() is never equals to 0, except if the user *did*
change it to 0, the httpClient timeout is always set to 60 seconds, except if
the user set it to 0 on every MessageContext instances he creates...
I created a patch which allows global configuration with httpclient and which
allow user to change the timeout for a particular MessageContext. (attached)
Regards,
Rémi Flament
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]