You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by "Mykhailo Hodovaniuk (JIRA)" <ji...@apache.org> on 2017/08/14 13:30:00 UTC
[jira] [Updated] (AXIS2-5866) Axis ignores
org.apache.axis2.client.Options#getTimeOutInMilliSeconds
[ https://issues.apache.org/jira/browse/AXIS2-5866?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Mykhailo Hodovaniuk updated AXIS2-5866:
---------------------------------------
Description:
According to documentation https://axis.apache.org/axis2/java/core/docs/http-transport.html the timeouts can be defined:
{code:java}
For runtime configuration, it can be set as follows within the client stub:
...
Options options = new Options();
options.setProperty(HTTPConstants.SO_TIMEOUT, new Integer(timeOutInMilliSeconds));
options.setProperty(HTTPConstants.CONNECTION_TIMEOUT, new Integer(timeOutInMilliSeconds));
// or
options.setTimeOutInMilliSeconds(timeOutInMilliSeconds);
...
{code}
But instead, Axis ignores this property because: _org.apache.axis2.transport.http.CommonsHTTPTransportSender#invoke_ has code
{code:java}
// set the property values only if they are not set by the user explicitly
if (msgContext.getProperty(HTTPConstants.SO_TIMEOUT) == null) {
msgContext.setProperty(HTTPConstants.SO_TIMEOUT, soTimeout);
}
if (msgContext.getProperty(HTTPConstants.CONNECTION_TIMEOUT) == null) {
msgContext.setProperty(HTTPConstants.CONNECTION_TIMEOUT, connectionTimeout);
}
{code}
where _connectionTimeout _and _soTimeout _are always non null.
At the same time _org.apache.axis2.transport.http.impl.httpclient3.HTTPSenderImpl#setTimeouts_ tries to define these values if they are null with timeOutInMilliSeconds.
The problem is that _org.apache.axis2.transport.http.CommonsHTTPTransportSender#invoke_ is higher in call hirarchy so the _org.apache.axis2.transport.http.impl.httpclient3.HTTPSenderImpl#setTimeouts_ does not work as expected. The _SO_TIMEOUT_ and _CONNECTION_TIMEOUT_ parameters are always defined inside _org.apache.axis2.transport.http.impl.httpclient3.HTTPSenderImpl#setTimeouts_.
The workaround is to define timeouts in axis2.xml.
was:
According to documentation https://axis.apache.org/axis2/java/core/docs/http-transport.html the timeouts can be defined:
{code:java}
For runtime configuration, it can be set as follows within the client stub:
...
Options options = new Options();
options.setProperty(HTTPConstants.SO_TIMEOUT, new Integer(timeOutInMilliSeconds));
options.setProperty(HTTPConstants.CONNECTION_TIMEOUT, new Integer(timeOutInMilliSeconds));
// or
options.setTimeOutInMilliSeconds(timeOutInMilliSeconds);
...
{code}
But instead, Axis ignores this property because: _org.apache.axis2.transport.http.CommonsHTTPTransportSender#invoke_ has code
{code:java}
// set the property values only if they are not set by the user explicitly
if (msgContext.getProperty(HTTPConstants.SO_TIMEOUT) == null) {
msgContext.setProperty(HTTPConstants.SO_TIMEOUT, soTimeout);
}
if (msgContext.getProperty(HTTPConstants.CONNECTION_TIMEOUT) == null) {
msgContext.setProperty(HTTPConstants.CONNECTION_TIMEOUT, connectionTimeout);
}
{code}
where _connectionTimeout _and _soTimeout _are always non null.
At the same time _org.apache.axis2.transport.http.impl.httpclient3.HTTPSenderImpl#setTimeouts_ tries to define these values if they are null with timeOutInMilliSeconds.
The problem is that _org.apache.axis2.transport.http.CommonsHTTPTransportSender#invoke_ is higher in call hirarchy so the _org.apache.axis2.transport.http.impl.httpclient3.HTTPSenderImpl#setTimeouts_ does not work as expected. The _SO_TIMEOUT _and _CONNECTION_TIMEOUT _parameters are always defined inside _org.apache.axis2.transport.http.impl.httpclient3.HTTPSenderImpl#setTimeouts_.
The workaround is to define timeouts in axis2.xml.
> Axis ignores org.apache.axis2.client.Options#getTimeOutInMilliSeconds
> ---------------------------------------------------------------------
>
> Key: AXIS2-5866
> URL: https://issues.apache.org/jira/browse/AXIS2-5866
> Project: Axis2
> Issue Type: Bug
> Components: client-api, transports
> Affects Versions: 1.7.4
> Environment: Java 8, Tomcat
> Reporter: Mykhailo Hodovaniuk
> Priority: Minor
>
> According to documentation https://axis.apache.org/axis2/java/core/docs/http-transport.html the timeouts can be defined:
> {code:java}
> For runtime configuration, it can be set as follows within the client stub:
> ...
> Options options = new Options();
> options.setProperty(HTTPConstants.SO_TIMEOUT, new Integer(timeOutInMilliSeconds));
> options.setProperty(HTTPConstants.CONNECTION_TIMEOUT, new Integer(timeOutInMilliSeconds));
> // or
> options.setTimeOutInMilliSeconds(timeOutInMilliSeconds);
> ...
> {code}
> But instead, Axis ignores this property because: _org.apache.axis2.transport.http.CommonsHTTPTransportSender#invoke_ has code
> {code:java}
> // set the property values only if they are not set by the user explicitly
> if (msgContext.getProperty(HTTPConstants.SO_TIMEOUT) == null) {
> msgContext.setProperty(HTTPConstants.SO_TIMEOUT, soTimeout);
> }
> if (msgContext.getProperty(HTTPConstants.CONNECTION_TIMEOUT) == null) {
> msgContext.setProperty(HTTPConstants.CONNECTION_TIMEOUT, connectionTimeout);
> }
> {code}
> where _connectionTimeout _and _soTimeout _are always non null.
> At the same time _org.apache.axis2.transport.http.impl.httpclient3.HTTPSenderImpl#setTimeouts_ tries to define these values if they are null with timeOutInMilliSeconds.
> The problem is that _org.apache.axis2.transport.http.CommonsHTTPTransportSender#invoke_ is higher in call hirarchy so the _org.apache.axis2.transport.http.impl.httpclient3.HTTPSenderImpl#setTimeouts_ does not work as expected. The _SO_TIMEOUT_ and _CONNECTION_TIMEOUT_ parameters are always defined inside _org.apache.axis2.transport.http.impl.httpclient3.HTTPSenderImpl#setTimeouts_.
> The workaround is to define timeouts in axis2.xml.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)
---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org