org.jboss.webservice.server
Class InvokerProvider

java.lang.Object
  extended by org.jboss.axis.handlers.BasicHandler
      extended by org.jboss.axis.providers.BasicProvider
          extended by org.jboss.axis.providers.java.JavaProvider
              extended by org.jboss.axis.providers.java.RPCProvider
                  extended by org.jboss.webservice.server.InvokerProvider
All Implemented Interfaces:
org.jboss.axis.Handler
Direct Known Subclasses:
InvokerProviderEJB, InvokerProviderJSE

public abstract class InvokerProvider
extends org.jboss.axis.providers.java.RPCProvider

An RPC provider base that provides access to some webservice specific meta-data artifacts through JMX.

Since:
15-April-2004
Author:
Thomas.Diesler@jboss.org

Field Summary
protected  ServerHandlerChain handlerChain
           
protected  PortComponentInfo portComponentInfo
           
protected  javax.management.MBeanServer server
           
 
Fields inherited from class org.jboss.axis.providers.java.RPCProvider
RPC_INVOCATION
 
Fields inherited from class org.jboss.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.jboss.axis.handlers.BasicHandler
makeLockable, name, options
 
Constructor Summary
InvokerProvider()
           
 
Method Summary
 org.jboss.axis.providers.java.RPCInvocation createRPCInvocation(org.jboss.axis.MessageContext msgContext, org.jboss.axis.message.SOAPEnvelopeAxisImpl reqEnv, org.jboss.axis.message.SOAPEnvelopeAxisImpl resEnv, Object obj)
           
 void generateWSDL(org.jboss.axis.MessageContext msgContext)
          Generate the WSDL for this service.
protected abstract  ClassLoader getContextClassLoader()
          Get the context CLassLoader for this service
 PortComponentInfo getPortComponentInfo()
           
protected  Class getServiceClass(String clsName, org.jboss.axis.handlers.soap.SOAPService service, org.jboss.axis.MessageContext msgContext)
          Returns the Class info about the service class.
protected  String getServiceClassName(org.jboss.axis.Handler handler)
          Return the class name of the service.
 void initServiceDesc(org.jboss.axis.handlers.soap.SOAPService service, org.jboss.axis.MessageContext msgContext)
          Get deployment meta info

Note, the msgContext may be null if the request is not a SOAP message this is the case for the list operation http://localhost:8080/ws4ee/servlet/AxisServlet

protected  Object invokeMethod(org.jboss.axis.MessageContext msgContext, Method method, Object obj, Object[] args)
          Invoke the service endpoint.
protected abstract  Object invokeServiceEndpoint(org.jboss.axis.MessageContext msgContext, Method method, Object obj, Object[] argValues)
          Overwrite for EJB, and JSE endpoint invocation
 
Methods inherited from class org.jboss.axis.providers.java.RPCProvider
checkMethodName, invokeTarget, processMessage
 
Methods inherited from class org.jboss.axis.providers.java.JavaProvider
getServiceClassNameOptionName, getServiceObject, invoke, makeNewServiceObject, processException
 
Methods inherited from class org.jboss.axis.providers.BasicProvider
addOperation, getOperationName, getOperationNames, getOperationQNames
 
Methods inherited from class org.jboss.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

server

protected javax.management.MBeanServer server

portComponentInfo

protected PortComponentInfo portComponentInfo

handlerChain

protected ServerHandlerChain handlerChain
Constructor Detail

InvokerProvider

public InvokerProvider()
Method Detail

initServiceDesc

public void initServiceDesc(org.jboss.axis.handlers.soap.SOAPService service,
                            org.jboss.axis.MessageContext msgContext)
                     throws org.jboss.axis.AxisFault
Get deployment meta info

Note, the msgContext may be null if the request is not a SOAP message this is the case for the list operation http://localhost:8080/ws4ee/servlet/AxisServlet

Overrides:
initServiceDesc in class org.jboss.axis.providers.java.JavaProvider
Parameters:
msgContext - the SOAP MessageContext, or null
Throws:
org.jboss.axis.AxisFault

getContextClassLoader

protected abstract ClassLoader getContextClassLoader()
Get the context CLassLoader for this service


generateWSDL

public void generateWSDL(org.jboss.axis.MessageContext msgContext)
                  throws org.jboss.axis.AxisFault
Generate the WSDL for this service.

Put in the "WSDL" property of the message context as a org.w3c.dom.Document

Specified by:
generateWSDL in interface org.jboss.axis.Handler
Overrides:
generateWSDL in class org.jboss.axis.providers.java.JavaProvider
Throws:
org.jboss.axis.AxisFault

createRPCInvocation

public org.jboss.axis.providers.java.RPCInvocation createRPCInvocation(org.jboss.axis.MessageContext msgContext,
                                                                       org.jboss.axis.message.SOAPEnvelopeAxisImpl reqEnv,
                                                                       org.jboss.axis.message.SOAPEnvelopeAxisImpl resEnv,
                                                                       Object obj)
Overrides:
createRPCInvocation in class org.jboss.axis.providers.java.RPCProvider

getPortComponentInfo

public PortComponentInfo getPortComponentInfo()

getServiceClass

protected Class getServiceClass(String clsName,
                                org.jboss.axis.handlers.soap.SOAPService service,
                                org.jboss.axis.MessageContext msgContext)
                         throws org.jboss.axis.AxisFault
Returns the Class info about the service class.

Overrides:
getServiceClass in class org.jboss.axis.providers.java.JavaProvider
Throws:
org.jboss.axis.AxisFault

getServiceClassName

protected String getServiceClassName(org.jboss.axis.Handler handler)
Return the class name of the service. We return the SEI instead.

Overrides:
getServiceClassName in class org.jboss.axis.providers.java.JavaProvider

invokeMethod

protected final Object invokeMethod(org.jboss.axis.MessageContext msgContext,
                                    Method method,
                                    Object obj,
                                    Object[] args)
                             throws Exception
Invoke the service endpoint.

Overrides:
invokeMethod in class org.jboss.axis.providers.java.RPCProvider
Throws:
Exception

invokeServiceEndpoint

protected abstract Object invokeServiceEndpoint(org.jboss.axis.MessageContext msgContext,
                                                Method method,
                                                Object obj,
                                                Object[] argValues)
                                         throws Exception
Overwrite for EJB, and JSE endpoint invocation

Throws:
Exception


Copyright © 2002 JBoss Group, LLC. All Rights Reserved.