The LocalConduit has a flag that can be used to specify that you want direct dispatches.

LocalConduit.DIRECT_DISPATCH


The problem is that it only looks at the message itself to see if that is set. With the JAX-WS frontend, you can set that in the request context and it would work. The problem is the request contexts only exist in the JAX-WS frontend and your code for using the simple frontend cannot use them. I've logged an "improvement": https://issues.apache.org/jira/browse/CXF-1654

With the current code, about the only thing you could do is write a very simple interceptor that you stick on the out chain that does:

message.put(LocalConduit.DIRECT_DISPATCH, Boolean.TRUE);

Dan



On Jun 17, 2008, at 10:42 AM, Dan Dubinsky wrote:


Can a service called locally using the URL local://ServiceName run in the same thread as the calling method. My code to invoke the service looks like
this

ClientProxyFactoryBean factory = new ClientProxyFactoryBean();
factory.setServiceClass(serviceClass);
factory.setAddress("local://" + serviceName);
factory.setDataBinding(new AegisDatabinding());
service = factory.create();

When I invoke a method on the service, it runs it fine but in a separate thread. I'm having trouble because I have a Thread local variable in my
service that needs that's initialized by the calling thread, but isn't
present in the service thread.

--
View this message in context: 
http://www.nabble.com/Can-a-web-service-runing-locally-run-in-the-same-thread-as-the-caller-tp17911113p17911113.html
Sent from the cxf-user mailing list archive at Nabble.com.


---
Daniel Kulp
[EMAIL PROTECTED]
http://www.dankulp.com/blog




Reply via email to