Yes that worked. Thanks.
For anybody else that comes across this same problem, here is a code snippet
that solved the problem:
ClientProxyFactoryBean factory = new ClientProxyFactoryBean();
factory.setServiceClass(serviceClass);
factory.setAddress("local://" + serviceName);
factory.setDataBinding(new AegisDatabinding());
service = factory.create();
//fix starts here
Client proxy = ClientProxy.getClient(service);
proxy.getOutInterceptors().add(new SingleThreadInterceptor());
//fix ends here
and the SingleThreadInterceptor class looks like this:
public class SingleThreadInterceptor extends
AbstractPhaseInterceptor<Message> {
public SingleThreadInterceptor() {
super(Phase.SETUP);
}
public void handleMessage(Message message) {
message.put(LocalConduit.DIRECT_DISPATCH, Boolean.TRUE);
}
}
dkulp wrote:
>
>
> 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
>
>
>
>
>
>
--
View this message in context:
http://www.nabble.com/Can-a-web-service-runing-locally-run-in-the-same-thread-as-the-caller-tp17911113p17983189.html
Sent from the cxf-user mailing list archive at Nabble.com.