axis-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ekbote, Niranjan" <NEkb...@doubleclick.net>
Subject RE: Bug? Stateful Session EJB support
Date Thu, 04 Dec 2003 15:24:30 GMT
Has Axis started supporting "Stateful" session beans? I thought for the EJB
provider, you can only work with "Stateless" session beans. 

-----Original Message-----
From: Keith Hatton [mailto:khatton@axiomsystems.com] 
Sent: Thursday, December 04, 2003 10:21 AM
To: Axis-User (E-mail)
Subject: Bug? Stateful Session EJB support

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:  khatton@axiomsystems.com
Berkshire, RG6 1AZ             Web:     www.axiomsystems.com

Mime
View raw message