@OneWay over binding.ws arguments not being serialized properly
---------------------------------------------------------------
Key: TUSCANY-2186
URL: https://issues.apache.org/jira/browse/TUSCANY-2186
Project: Tuscany
Issue Type: Bug
Reporter: Lou Amodeo
I am finding that @Oneway operations over binding.ws are not having method
arguments marshalled properly apparently due to a change in the sequence of
interceptors. Previously the NonBlockingInterceptor was being added after the
DataTransformationInterceptor. The data transformation needs to occur prior
to the thread switch to the non-blocking interceptor to allow Axiom to marshall
the message payload before the thread switch.
In the Tuscany revision level I have R634808 the
DataBindingRuntimeWireProcessor does this:
chain.addInterceptor(0, interceptor);
In the past the index of 0 would have put the databinding interceptor at the
front of the interceptor chain, ahead of the NonBlockingInterceptor (which has
already been added at this point). However in this Tuscany revision the index
is ignored and instead a new phase-based ordering mechanism is used. The above
call to addInterceptor obviously wasn't changed yet at this level to replace
the index with a phase. It has been changed in the trunk and now looks like
this:
String phase =
(wire.getSource().getContract() instanceof ComponentReference) ?
Phase.REFERENCE_INTERFACE
: Phase.SERVICE_INTERFACE;
chain.addInterceptor(phase, interceptor);
RuntimeWireImpl is doing this to add the NonBlockingInterceptor:
chain.addInterceptor(Phase.SERVICE_BINDING, new
NonBlockingInterceptor(workScheduler));
Here are the relevant phase definitions in PhaseManager:
private final static String[] SYSTEM_SERVICE_PHASES =
{Phase.SERVICE_BINDING, Phase.SERVICE_POLICY, Phase.SERVICE_INTERFACE,
Phase.SERVICE};
I assume this is an ordered list, so this means the NonBlockingInterceptor
(phase SERVICE_BINDING) is before the DataBindingInterceptor (phase
SERVICE_INTERFACE), which is still opposite of what we want to solve this
problem.
Thanks for your help!
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]