After talking with Sebastien the other day, it appears Axis1 uses
reflection to make invocations, requiring entry points to return
proxies implementing the exposed service (Axis2 appears different).
So, I changed getInstance(..) to return a generated proxy - if you
don't need a proxy, get the InvocationHandler directly using
getImplementationInstance() as in:
AggregateContext aggregateContext = ...
EntryPointContext ctx = (EntryPointContext)
aggregateContext.getContext("source");
Assert.assertNotNull(ctx);
InvocationHandler handler = (InvocationHandler)
ctx.getImplementationInstance();
Object response = handler.invoke(null, operation, new
Object[] { param });
I updated the Axis2 code to do this
(WebServiceEntryPointInOutSyncMessageReceiver) as well as the test
cases. Sebastien, Axis1 still creates the proxy using the
ProxyFactory from the entry point. I included a FIXME but did not
change this as I think this change will be conntected to the
discussion on getAggregate().
Jim