I personally don't have time to fix these as I'm swamped with the
business interface proxy changes. Between OpenEJB and Geronimo, I'm
pretty much the only guy who understands how it was all integrated in
2x and how that maps into 3x. Since that's generally not a good
thing, i've done my absolute best to come up with a test case that
documents all the details on how a Web Service Provider and OpenEJB
would come together to complete the EJB Web Services puzzle. At
least how it relates to JAX-RPC.
Here is that test case (not that the test method is more or less
commented out):
http://svn.apache.org/repos/asf/incubator/openejb/trunk/openejb3/
container/openejb-core/src/test/java/org/apache/openejb/core/
stateless/JaxRpcWebServiceInvocationTest.java
There's some code in there already to perform the OpenEJB side of
this, but as Jarek points out it still has issues. Are there any
adventurous souls out there who'd like to try and get this working?
Multiple volunteers are welcome, as always.
Jarek, is it possible you can use this test case and craft up a
simlilar one for JAX-WS Web Service invocations? It'll probably take
some discussion on how we want those to work as we've never done JAX-
WS whereas in 2x we at least had a certified JAX-RPC integration to
work from.
-David
On Apr 12, 2007, at 10:28 PM, Jarek Gawor wrote:
Hi folks,
I'm working on getting jaxrpc ejb support working again in Geronimo.
I believe I have everything setup ok in Geronimo and now I'm running
into the following problems in OpenEJB:
1) In org.apache.openejb.core.stateless.StatelessContainer the
isWebServiceCall() function returns false because the
deployment.getServiceEndpointInterface() function returns null. But I
think the getServiceEndpointInterfaceName() returns a non null value
(service endpoint interface is set in the DD).
2) If 1) is fixed then I see
org.apache.openejb.core.interceptor.ReflectionInvocationContext.procee
d()
function raise "Parameters have not been set" exception. The the
jaxrpc interceptor (in
org.apache.openejb.server.axis.EjbContainerProvider) is supposed to
set the parameters but the parameters check in
ReflectionInvocationContext.proceed() is done before the interceptors
are invoked.
3) And if 2) if fixed then the jaxrpc interceptor is not getting
invoked at all. I'm not sure what's going on with that.
I have a test case in Geronimo code base to test this integration (in
'testsuite/webservices-testsuite/jaxrpc-tests/jaxrpc-ejb" directory).
Both
"testInvocation" and "testWSDL" tests should pass (the "testEJB" test
case always fails so can be ignored for now).
I would appreciate if somebody could fix or take a closer look at
these problems.
Let me know if you have any questions, etc.
Thanks,
Jarek