Hi all,
I have another issue with stateful session EJBs.
In order to manage resources on the server, I want my client to have more fine-grained
control on the lifecycle of stateful EJBs. I thought I would be able to do this by
exposing the remove() method as a Web Service, but Axis cannot find this method even
if I hand-code it into the WSDL (it wouldn't generate WSDL for the remove() method
using Java2WSDL, but quite possibly for the same root cause as described following). I
found the culprit in the section of code below. Obviously in the general case it would
not be desirable to expose java.* or javax.* methods, but javax.ejb.EJBObject.remove()
seems a reasonable one to me.
Should I file a bug/enhancement request?
Should I move over to the axis-dev list? - I seem to have dug rather deep into the
code to discover this and it doesn't appear from archives etc. that this use of Axis
is all that common.
I *may* (no promises) have some time to fix this [I don't imagine my workaround of
commenting out this line is acceptable to the general Axis community :)] - but am not
sure what the "right" way to resolve this problem is.
Thanks
Keith
[org.apache.axis.description.ServiceDesc.java, line 914 et seq.]
if (implClass.isInterface()) {
Class [] superClasses = implClass.getInterfaces();
for (int i = 0; i < superClasses.length; i++) {
Class superClass = superClasses[i];
if (!superClass.getName().startsWith("java.") &&
!superClass.getName().startsWith("javax.") &&
(stopClasses == null ||
!stopClasses.contains(superClass.getName()))) {
loadServiceDescByIntrospectionRecursive(superClass);
}
}
} else {
Class superClass = implClass.getSuperclass();
if (superClass != null &&
!superClass.getName().startsWith("java.") &&
!superClass.getName().startsWith("javax.") &&
(stopClasses == null ||
!stopClasses.contains(superClass.getName()))) {
loadServiceDescByIntrospectionRecursive(superClass);
}
}
Keith Hatton
Axiom Systems Limited Phone: +44 (0)118 929 4000
69 Suttons Business Park Fax: +44 (0)118 929 4001
Sutton Park Avenue DDI: +44 (0)118 929 4225
Reading E-Mail: [EMAIL PROTECTED]
Berkshire, RG6 1AZ Web: www.axiomsystems.com