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 <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]> 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 <[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
> >>
> >>
> >
> >
> >
>
> --
> Stuart
>
>
--
Davanum Srinivas - http://webservices.apache.org/~dims/