|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.apache.axis.handlers.BasicHandler org.apache.axis.providers.BasicProvider org.apache.axis.providers.java.JavaProvider org.apache.axis.providers.java.RPCProvider org.apache.axis.providers.java.EJBProvider org.jboss.net.axis.server.EJBProvider
A JBoss-compatible EJB Provider that exposes the methods of any session bean as a web service endpoint.
Basically it is a slimmed downed derivative of the Axis-EJBProvider without the usual, corba-related configuration mumbo-jumbo that is operating under the presumption that the right classloader has already been set by the request flow chain (@see org.jboss.net.axis.SetClassLoaderHandler).
Since Version 1.5 and thanks to Kevin Conner, we now also support
stateful beans that are tied to the service scope (you should reasonably
choose scope="session" in the
EJBProvider is able to recognize an WsdlAwareHttpActionHandler
in its
transport chain such that it will set the soap-action headers in the wsdl.
Nested Class Summary | |
protected static class |
EJBProvider.EJBServiceLifeCycle
This is the lifecycle object that is registered in the message scope and that shields the proper bean reference |
Field Summary | |
protected Method |
ejbCreateMethod
we are caching the create method for perfomance purposes |
protected Object |
ejbHome
we are caching the home for perfomance purposes |
protected Class |
remoteClass
the real remote class we are shielding |
Fields inherited from class org.apache.axis.providers.java.EJBProvider |
empty_class_array, empty_object_array, jndiContextClass, jndiPassword, jndiURL, jndiUsername, OPTION_BEANNAME, OPTION_HOMEINTERFACENAME, OPTION_LOCALHOMEINTERFACENAME, OPTION_LOCALINTERFACENAME, OPTION_REMOTEINTERFACENAME |
Fields inherited from class org.apache.axis.providers.java.RPCProvider |
RPC_INVOCATION |
Fields inherited from class org.apache.axis.providers.java.JavaProvider |
OPTION_ALLOWEDMETHODS, OPTION_CLASSNAME, OPTION_CLASSPATH, OPTION_IS_STATIC, OPTION_SCOPE, OPTION_WSDL_INPUTSCHEMA, OPTION_WSDL_PORTTYPE, OPTION_WSDL_SERVICEELEMENT, OPTION_WSDL_SERVICEPORT, OPTION_WSDL_TARGETNAMESPACE |
Fields inherited from class org.apache.axis.handlers.BasicHandler |
makeLockable, name, options |
Constructor Summary | |
EJBProvider()
Creates new EJBProvider |
Method Summary | |
void |
generateWSDL(org.apache.axis.MessageContext msgContext)
Generate the WSDL for this service. |
protected Method |
getEJBCreateMethod(String jndiName)
access home factory via jndi if reference is not yet cached |
protected Object |
getEJBHome(String jndiName)
access home factory via jndi if reference is not yet cached |
protected Class |
getServiceClass(String beanJndiName,
org.apache.axis.handlers.soap.SOAPService service,
org.apache.axis.MessageContext msgContext)
Return the class name of the service, note that this could be called outside the correct chain, e.g., by the url mapper. |
void |
initServiceDesc(org.apache.axis.handlers.soap.SOAPService service,
org.apache.axis.MessageContext msgContext)
|
protected Object |
makeNewServiceObject(org.apache.axis.MessageContext msgContext,
String clsName)
Return the object which implements the service lifecycle. |
void |
processMessage(org.apache.axis.MessageContext msgContext,
org.apache.axis.message.SOAPEnvelopeAxisImpl reqEnv,
org.apache.axis.message.SOAPEnvelopeAxisImpl resEnv,
Object obj)
Override processMessage of super class in order to unpack the service object from the lifecycle |
Methods inherited from class org.apache.axis.providers.java.EJBProvider |
getCachedContext, getContext, getEJBHome, getServiceClassNameOptionName, getStrOption |
Methods inherited from class org.apache.axis.providers.java.RPCProvider |
checkMethodName, createRPCInvocation, invokeMethod, invokeTarget |
Methods inherited from class org.apache.axis.providers.java.JavaProvider |
getServiceClassName, getServiceObject, invoke, processException |
Methods inherited from class org.apache.axis.providers.BasicProvider |
addOperation, getOperationName, getOperationNames, getOperationQNames |
Methods inherited from class org.apache.axis.handlers.BasicHandler |
canHandleBlock, cleanup, getDeploymentData, getName, getOption, getOptions, getUnderstoodHeaders, init, initHashtable, onFault, setName, setOption, setOptionDefault, setOptions, setOptionsLockable |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
protected Class remoteClass
protected Object ejbHome
protected Method ejbCreateMethod
Constructor Detail |
public EJBProvider()
Method Detail |
protected Object getEJBHome(String jndiName) throws NamingException
NamingException
protected Method getEJBCreateMethod(String jndiName) throws NamingException, NoSuchMethodException
NamingException
NoSuchMethodException
protected Object makeNewServiceObject(org.apache.axis.MessageContext msgContext, String clsName) throws Exception
msgContext
- the message contextclsName
- The JNDI name of the EJB home class
Exception
protected Class getServiceClass(String beanJndiName, org.apache.axis.handlers.soap.SOAPService service, org.apache.axis.MessageContext msgContext) throws org.apache.axis.AxisFault
org.apache.axis.AxisFault
public void generateWSDL(org.apache.axis.MessageContext msgContext) throws org.apache.axis.AxisFault
org.apache.axis.AxisFault
public void processMessage(org.apache.axis.MessageContext msgContext, org.apache.axis.message.SOAPEnvelopeAxisImpl reqEnv, org.apache.axis.message.SOAPEnvelopeAxisImpl resEnv, Object obj) throws Exception
Exception
public void initServiceDesc(org.apache.axis.handlers.soap.SOAPService service, org.apache.axis.MessageContext msgContext) throws org.apache.axis.AxisFault
org.apache.axis.AxisFault
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |