I've tried out the suggested fixes and I have run into a big problem.
By proxying the inbound wire of the composite reference, there is no
databinding interceptor in the invocation chain.  This causes
Axis2TargetInvoker to choke.

   Exception "java.lang.IllegalArgumentException" Exception message: "Can't
handle mixed payloads betweem OMElements and other types."

   java.lang.IllegalArgumentException: Can't handle mixed payloads betweem
OMElements and other types.
at org.apache.tuscany.binding.axis2.Axis2TargetInvoker.createOperationClient
(Axis2TargetInvoker.java)
at org.apache.tuscany.binding.axis2.Axis2TargetInvoker.invokeTarget(
Axis2TargetInvoker.java:70)
at org.apache.tuscany.binding.axis2.Axis2TargetInvoker.invoke(
Axis2TargetInvoker.java:107)
at org.apache.tuscany.core.wire.InvokerInterceptor.invoke(
InvokerInterceptor.java:44)
at org.apache.tuscany.core.wire.SynchronousBridgingInterceptor.invoke(
SynchronousBridgingInterceptor.java:41)
at org.apache.tuscany.spi.wire.AbstractInboundInvocationHandler.invoke(
AbstractInboundInvocationHandler.java:60)
at org.apache.tuscany.core.wire.jdk.JDKInboundInvocationHandler.invoke(
JDKInboundInvocationHandler.java:108)

How do we get the databinding transformation into this flow?  The
DatabindingInterceptor currently requires an outbound wire from the client.
Dynamically creating an outbound wire for a non-SCA client and connecting it
to the composite reference sounds like a major piece of work.  Is there a
simpler solution?

Reply via email to