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



Reply via email to