Thanks for the details Davanum. My theaimsgroup search did not hit this stuff so much appreciated.
Taking a look inside the DefaultHTTPTransportClientProperties class I can see that it gets all its info from the AxisProperties class.
So can I just call AxisProperties.setProperties ?
ta, Stuart.
Davanum Srinivas wrote:
http://marc.theaimsgroup.com/?l=axis-dev&m=105787295106872&w=2
On Tue, 25 Jan 2005 11:53:51 +0000, Stuart Barlow <[EMAIL PROTECTED]> wrote:
Did you get an answer to this problem?
I have a similar problem running in an AppServer. I want to set http.proxyHost but not at the System level. I am using WSDL2Java so I cannot get to the call object to set the properties on the Call.
Graeme Riddell wrote:
I have a multithreaded app that is issuing SOAP requests via AXIS. It seems that if thread 1 sets a http.proxyHost AxisProperty then it's visible to thread 2 when he calls AxisProperties.getProperty(). (Because AxisProperties is tied to the current ClassLoader?).
The problem I have is that I would like to have these multiple http requests on different threads potentially target different (or no) proxy hosts, ie, each thread gets its own AxisProperties.
To complicate things there seems to be an additional layer involved which is that down in the DefaultSocketFactory.create() logic during the "writeToSocket" there is a call to TransportClientPropertiesFactory.create("http") which returns a cached properties object, but I *think* all that he is doing is making calls to AxisProperties.getProperty().
Anyone have a recommendation for how to go about this? Thoughts occurring to me are to replace the socket factory class with my own (with AxisProperties.setProperty("axis.socketFactory",.. )?) and use ThreadLocal to get the proxy values down to that level from my app code, and avoid the TransportClientProperties cached object. But that seems a little inelegant. Anyone any ideas?
-gr
-- Stuart
-- Stuart