axis-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Davanum Srinivas <dava...@gmail.com>
Subject Re: AxisProperties, httpProxyHost, threads
Date Tue, 25 Jan 2005 15:45:36 GMT
looks like it...this is not a good fix, but just add your
com.peopledoc.jura.dmintegration.spi.impl.AXISTransportClientProperties
to axis jar itself to see if it works and then tackle the classloader
issue.

-- dims

On Tue, 25 Jan 2005 15:32:23 +0000, Stuart Barlow <sbarlow@peopledoc.com> wrote:
> I have set...
> System.setProperty("org.apache.axis.components.net.TransportClientProperties",
> 
> "com.peopledoc.jura.dmintegration.spi.impl.AXISTransportClientProperties");
> 
> Unfortunatly I am now getting...
> 
> 2005-01-25 15:20:57,187 ERROR axis.AxisProperties [Jura Thread #12] Exception:
> org.apache.commons.discovery.DiscoveryException: No implementation defined for
> org.apache.axis.components.net.TransportClientProperties
>         at org.apache.commons.discovery.tools.DiscoverClass.find(DiscoverClass.java:404)
>         at
> org.apache.commons.discovery.tools.DiscoverClass.newInstance(DiscoverClass.java:579)
>         at org.apache.axis.AxisProperties$2.run(AxisProperties.java:351)
>         at java.security.AccessController.doPrivileged(Native Method)
>         at org.apache.axis.AxisProperties.newInstance(AxisProperties.java:347)
>         at org.apache.axis.AxisProperties.newInstance(AxisProperties.java:327)
>         at
> org.apache.axis.components.net.TransportClientPropertiesFactory.create(TransportClientPropertiesFactory.java:85)
>         at
> org.apache.axis.components.net.DefaultSocketFactory.create(DefaultSocketFactory.java:106)
>         at org.apache.axis.transport.http.HTTPSender.getSocket(HTTPSender.java:157)
>         at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:114)
>         at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:71)
>         at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:150)
>         at org.apache.axis.SimpleChain.invoke(SimpleChain.java:120)
>         at org.apache.axis.client.AxisClient.invoke(AxisClient.java:180)
>         at org.apache.axis.client.Call.invokeEngine(Call.java:2564)
>         at org.apache.axis.client.Call.invoke(Call.java:2553)
>         at org.apache.axis.client.Call.invoke(Call.java:2248)
>         at org.apache.axis.client.Call.invoke(Call.java:2171)
>         at org.apache.axis.client.Call.invoke(Call.java:1691)
>         at
> com.hummingbird.hc.dm.api.DmintsoapSoapBindingStub.bootstrap(DmintsoapSoapBindingStub.java:846)
> 
> Are the apache.commons.discovery classes failing to find my
> implementation class?
> 
> I am running in an AppServer and classloaders can get tricky.
> ta,
> Stuart.
> 
> Davanum Srinivas wrote:
> > yep. i think so.
> >
> > -- dim
> >
> >
> > On Tue, 25 Jan 2005 13:29:01 +0000, Stuart Barlow <sbarlow@peopledoc.com>
wrote:
> >
> >>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 <sbarlow@peopledoc.com>
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
> >>
> >>
> >
> >
> >
> 
> -- 
> Stuart
> 
> 


-- 
Davanum Srinivas - http://webservices.apache.org/~dims/

Mime
View raw message