[ 
http://issues.apache.org/jira/browse/AXIS-2295?page=comments#action_12443364 ] 
            
Lupus Arctos commented on AXIS-2295:
------------------------------------

There are two problems:

1. DefaultHTTPTransportClientProperties member variables have lazy 
initialization:
e.g.
public String getProxyHost() {
        if (proxyHost == null) {
            proxyHost = AxisProperties.getProperty("http.proxyHost");
            if (proxyHost == null)
                proxyHost = emptyString;
        }
        return proxyHost;
    }

We should use the following instead:

public String getProxyHost() {
        proxyHost = AxisProperties.getProperty("http.proxyHost");
        if (proxyHost == null) proxyHost = emptyString;
        return proxyHost;
}

2. TransportClientPropertiesFactory does not implement parametrizable factory 
pattern, it supports only the default implementations:

static {
        defaults.put("http", DefaultHTTPTransportClientProperties.class);
        defaults.put("https", DefaultHTTPSTransportClientProperties.class);
    }


 public static TransportClientProperties create(String protocol)
    {
...        
    if (tcp == null)   {
         tcp = (TransportClientProperties)
                AxisProperties.newInstance(TransportClientProperties.class,
                                           (Class)defaults.get(protocol));
 ...        
   }
        return tcp;
    }

I think the lazy init is bad here as well and we should have chance to define 
other TransportClientProperties by e.g. an "axis.transportClientProperties" 
system property.

I hope someone would care about this since this problem have been announced for 
a year ;) .

> problem with http proxy parameters caching mechanism
> ----------------------------------------------------
>
>                 Key: AXIS-2295
>                 URL: http://issues.apache.org/jira/browse/AXIS-2295
>             Project: Apache Axis
>          Issue Type: Bug
>          Components: Basic Architecture
>         Environment: weblogic 8.1 and Windows XP
>            Reporter: Renaud SAULAY
>            Priority: Minor
>
> The JVM http proxy parameters are read only once  when calling a webservice : 
> if you make a first Call.invoke(...) the JVM proxy parameters are read and 
> cached, but on other calls of method  invoke() those JVM http proxy 
> parameters are not read again, which can be disturbing since 
> one may need to change these parameters and they will not be taken into 
> account unless the application server is restarted.
> See classes : 
>    org.apache.axis.components.net.DefaultSocketFactory; (lines 97, 102, 116)
>    org.apache.axis.components.net.TransportClientPropertiesFactory (method
> create)
>    rg.apache.axis.components.net.DefaultHTTPTransportClientProperties (all
> methods)
> I hope i have been precise enough on this bug description. 
> If not, do not hesitate to email me 
> Thank you for your help

-- 
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]

Reply via email to