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?
