org.apache.axis2.description
Class AxisService

java.lang.Object
  extended byorg.apache.axis2.description.AxisDescription
      extended byorg.apache.axis2.description.AxisService
All Implemented Interfaces:
DescriptionConstants, ParameterInclude

public class AxisService
extends AxisDescription

Class AxisService


Field Summary
 
Fields inherited from interface org.apache.axis2.description.DescriptionConstants
CLASSLOADER_KEY, CONTEXTPATH_KEY, EXECUTION_CHAIN_KEY, EXECUTION_FAULT_CHAIN_KEY, EXECUTION_OUT_CHAIN_KEY, IN_FAULTFLOW_KEY, INFLOW_KEY, MESSAGE_RECEIVER_KEY, MODULEREF_KEY, OPERATION_KEY, OUT_FAULTFLOW_KEY, OUTFLOW_KEY, PARAMETER_KEY, PHASES_KEY, SERVICE_CLASS_NAME, STYLE_KEY
 
Constructor Summary
AxisService()
          Constructor AxisService.
AxisService(String name)
          Constructor AxisService.
 
Method Summary
 void addExposedTransport(String transport)
           
 void addMessageReceiver(String mepURL, MessageReceiver messageReceiver)
           
 void addModuleConfig(ModuleConfiguration moduleConfiguration)
          Adds module configuration , if there is moduleConfig tag in service.
 void addModuleOperations(AxisModule module, AxisConfiguration axisConfig)
          Adds an operation to a service if a module is required to do so.
 void addModuleref(QName moduleref)
           
 void addOperation(AxisOperation axisOperation)
          Method addOperation.
 void addSchema(Collection schemas)
           
 void addSchema(org.apache.ws.commons.schema.XmlSchema schema)
           
static AxisService createClientSideAxisService(javax.wsdl.Definition wsdlDefinition, QName wsdlServiceName, String portName, Options options)
           
static AxisService createClientSideAxisService(URL wsdlURL, QName wsdlServiceName, String portName, Options options)
          To create a AxisService for a given WSDL and the created client is most suitable for client side invocation not for server side invocation.
static AxisService createService(String implClass, AxisConfiguration axisConfig)
           
static AxisService createService(String implClass, AxisConfiguration axisConfig, Class messageReceiverClass)
          To create an AxisService using given service impl class name first generate schema corresponding to the given java class , next for each methods AxisOperation will be created.
static AxisService createService(String implClass, AxisConfiguration axisConfig, Class messageReceiverClass, String targetNameSpace, String schemaNameSpace)
          To create a service for a given Java class with user defined schema and target namespaces.
static AxisService createService(String implClass, AxisConfiguration axisConfiguration, Map messageReceiverClassMap, String targetNamespace, String schemaNamespace)
          messageReceiverClassMap will hold the MessageReceivers for given meps.
 void disengageModule(AxisModule module)
           
 void engageModule(AxisModule axisModule, AxisConfiguration axisConfig)
          Engages a module.
 AxisConfiguration getAxisConfiguration()
           
 String getBindingName()
           
 ClassLoader getClassLoader()
          Method getClassLoader.
 ArrayList getControlOperations()
          Gets the control operation which are added by module like RM.
 String getCustomSchemaNamePrefix()
           
 String getCustomSchemaNameSuffix()
           
 String getEndpoint()
          get the endpoint
 Collection getEngagedModules()
          Method getEngagedModules.
 String[] getEPRs()
           
 List getExposedTransports()
           
 URL getFileName()
           
 Object getKey()
           
 long getLastupdate()
           
 MessageReceiver getMessageReceiver(String mepURL)
           
 ModuleConfiguration getModuleConfig(QName moduleName)
           
 ArrayList getModules()
           
 String getName()
           
 Map getNameSpacesMap()
           
 ObjectSupplier getObjectSupplier()
           
 AxisOperation getOperation(QName operationName)
          Method getOperation.
 AxisOperation getOperationByAction(String action)
          Returns the AxisOperation which has been mapped to the given action.
 AxisOperation getOperationBySOAPAction(String soapAction)
          Returns the operation given a SOAP Action.
 Iterator getOperations()
          Method getOperations.
 Map getP2nMap()
           
 String getPortTypeName()
           
 ArrayList getPublishedOperations()
          Gets only the published operations.
 ArrayList getSchema()
           
 org.apache.ws.commons.schema.XmlSchema getSchema(int index)
           
 org.apache.ws.commons.schema.XmlSchemaElement getSchemaElement(QName elementQName)
           
 Map getSchemaMappingTable()
           
 String getSchematargetNamespace()
           
 String getSchematargetNamespacePrefix()
           
 String getScope()
           
 String getServiceDescription()
          Gets the description about the service which is specified in services.xml.
 ServiceLifeCycle getServiceLifeCycle()
           
 String getSoapNsUri()
          get the SOAPVersion
 String getTargetNamespace()
           
 String getTargetNamespacePrefix()
           
 org.apache.ws.java2wsdl.utils.TypeTable getTypeTable()
           
 String getWSAddressingFlag()
           
 boolean isActive()
           
 boolean isClientSide()
           
 boolean isElementFormDefault()
           
 boolean isEnableAllTransports()
           
 boolean isEngaged(QName moduleName)
           
 boolean isExposedTransport(String transport)
           
 boolean isSchemaLocationsAdjusted()
           
 boolean isUseDefaultChains()
           
 boolean isUseUserWSDL()
          User can set a parameter in services.xml saying he want to show the original wsdl that he put into META-INF once someone ask for ?wsdl so if you want to use your own wsdl then add following parameter into services.xml true
 boolean isWsdlFound()
           
 void mapActionToOperation(String action, AxisOperation axisOperation)
          Maps an action (aka WSA action) to the given operation.
 void populateSchemaMappings()
          runs the schema mappings if it has not been run previously it is best that this logic be in the axis service since one can call the axis service to populate the schema mappings
 void printSchema(OutputStream out)
           
 void printWSDL(OutputStream out)
          Print the WSDL with a default URL.
 void printWSDL(OutputStream out, String requestIP)
          Deprecated. try to use the method which takes three arguments
 void printWSDL(OutputStream out, String requestIP, String servicePath)
           
 void printWSDL2(OutputStream out)
           
 void printWSDL2(OutputStream out, String requestIP, String servicePath)
           
 void removeExposedTransport(String transport)
           
 void removeOperation(QName opName)
           
 void setActive(boolean active)
           
 void setBindingName(String bindingName)
           
 void setClassLoader(ClassLoader classLoader)
          Method setClassLoader.
 void setClientSide(boolean clientSide)
           
 void setCustomSchemaNamePrefix(String customSchemaNamePrefix)
           
 void setCustomSchemaNameSuffix(String customSchemaNameSuffix)
           
 void setElementFormDefault(boolean elementFormDefault)
           
 void setEnableAllTransports(boolean enableAllTransports)
          To eneble service to be expose in all the transport
 void setEndpoint(String endpoint)
           
 void setExposedTransports(List transports)
           
 void setFileName(URL fileName)
           
 void setLastupdate()
          Sets the current time as last update time of the service.
 void setName(String name)
           
 void setNameSpacesMap(org.apache.ws.commons.schema.utils.NamespaceMap nameSpacesMap)
           
 void setObjectSupplier(ObjectSupplier objectSupplier)
           
 void setP2nMap(Map p2nMap)
           
 void setPortTypeName(String portTypeName)
           
 void setSchemaLocationsAdjusted(boolean schemaLocationsAdjusted)
           
 void setSchemaMappingTable(Map schemaMappingTable)
           
 void setSchematargetNamespace(String schematargetNamespace)
           
 void setSchematargetNamespacePrefix(String schematargetNamespacePrefix)
           
 void setScope(String scope)
           
 void setServiceDescription(String serviceDescription)
          Sets the description about the service which is specified in services.xml
 void setServiceLifeCycle(ServiceLifeCycle serviceLifeCycle)
           
 void setSoapNsUri(String soapNsUri)
           
 void setTargetNamespace(String targetNamespace)
           
 void setTargetNamespacePrefix(String targetNamespacePrefix)
           
 void setTypeTable(org.apache.ws.java2wsdl.utils.TypeTable typeTable)
           
 void setUseDefaultChains(boolean useDefaultChains)
           
 void setWSAddressingFlag(String ar)
           
 void setWsdlFound(boolean wsdlFound)
           
 
Methods inherited from class org.apache.axis2.description.AxisDescription
addChild, addChild, addParameter, applyPolicy, applyPolicy, deserializeParameters, getChild, getChildren, getParameter, getParameters, getParameterValue, getParent, getPolicyInclude, isParameterLocked, removeChild, removeParameter, setParent, setPolicyInclude
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AxisService

public AxisService()
Constructor AxisService.


AxisService

public AxisService(String name)
Constructor AxisService.

Method Detail

getWSAddressingFlag

public String getWSAddressingFlag()

setWSAddressingFlag

public void setWSAddressingFlag(String ar)

isSchemaLocationsAdjusted

public boolean isSchemaLocationsAdjusted()

setSchemaLocationsAdjusted

public void setSchemaLocationsAdjusted(boolean schemaLocationsAdjusted)

getSchemaMappingTable

public Map getSchemaMappingTable()

setSchemaMappingTable

public void setSchemaMappingTable(Map schemaMappingTable)

getCustomSchemaNamePrefix

public String getCustomSchemaNamePrefix()

setCustomSchemaNamePrefix

public void setCustomSchemaNamePrefix(String customSchemaNamePrefix)

getCustomSchemaNameSuffix

public String getCustomSchemaNameSuffix()

setCustomSchemaNameSuffix

public void setCustomSchemaNameSuffix(String customSchemaNameSuffix)

getPortTypeName

public String getPortTypeName()

setPortTypeName

public void setPortTypeName(String portTypeName)

getBindingName

public String getBindingName()

setBindingName

public void setBindingName(String bindingName)

getSoapNsUri

public String getSoapNsUri()
get the SOAPVersion


setSoapNsUri

public void setSoapNsUri(String soapNsUri)

getEndpoint

public String getEndpoint()
get the endpoint


setEndpoint

public void setEndpoint(String endpoint)

addMessageReceiver

public void addMessageReceiver(String mepURL,
                               MessageReceiver messageReceiver)

getMessageReceiver

public MessageReceiver getMessageReceiver(String mepURL)

addModuleConfig

public void addModuleConfig(ModuleConfiguration moduleConfiguration)
Adds module configuration , if there is moduleConfig tag in service.

Parameters:
moduleConfiguration -

addModuleOperations

public void addModuleOperations(AxisModule module,
                                AxisConfiguration axisConfig)
                         throws AxisFault
Adds an operation to a service if a module is required to do so.

Parameters:
module -
Throws:
AxisFault

addModuleref

public void addModuleref(QName moduleref)

addOperation

public void addOperation(AxisOperation axisOperation)
Method addOperation.

Parameters:
axisOperation -

engageModule

public void engageModule(AxisModule axisModule,
                         AxisConfiguration axisConfig)
                  throws AxisFault
Engages a module. It is required to use this method.

Specified by:
engageModule in class AxisDescription
Parameters:
axisModule -
axisConfig -
Throws:
AxisFault

mapActionToOperation

public void mapActionToOperation(String action,
                                 AxisOperation axisOperation)
Maps an action (aka WSA action) to the given operation. This is used by addressing based dispatching to figure out which operation it is that a given message is for.

Parameters:
action - the action key
axisOperation - the operation to map to

printSchema

public void printSchema(OutputStream out)
                 throws AxisFault
Throws:
AxisFault

getSchema

public org.apache.ws.commons.schema.XmlSchema getSchema(int index)

getAxisConfiguration

public AxisConfiguration getAxisConfiguration()
Overrides:
getAxisConfiguration in class AxisDescription

printWSDL

public void printWSDL(OutputStream out,
                      String requestIP,
                      String servicePath)
               throws AxisFault
Parameters:
out -
requestIP -
servicePath -
Throws:
AxisFault

getEPRs

public String[] getEPRs()
                 throws AxisFault
Throws:
AxisFault

printWSDL

public void printWSDL(OutputStream out,
                      String requestIP)
               throws AxisFault
Deprecated. try to use the method which takes three arguments

Parameters:
out -
requestIP -
Throws:
AxisFault

printWSDL

public void printWSDL(OutputStream out)
               throws AxisFault
Print the WSDL with a default URL. This will be called only during codegen time.

Parameters:
out -
Throws:
AxisFault

printWSDL2

public void printWSDL2(OutputStream out)
                throws AxisFault
Throws:
AxisFault

printWSDL2

public void printWSDL2(OutputStream out,
                       String requestIP,
                       String servicePath)
                throws AxisFault
Throws:
AxisFault

getServiceDescription

public String getServiceDescription()
Gets the description about the service which is specified in services.xml.

Returns:
Returns String.

getClassLoader

public ClassLoader getClassLoader()
Method getClassLoader.

Returns:
Returns ClassLoader.

getControlOperations

public ArrayList getControlOperations()
Gets the control operation which are added by module like RM.


getEngagedModules

public Collection getEngagedModules()
Method getEngagedModules.

Returns:
Returns Collection.

getFileName

public URL getFileName()

getLastupdate

public long getLastupdate()

getModuleConfig

public ModuleConfiguration getModuleConfig(QName moduleName)

getModules

public ArrayList getModules()

getName

public String getName()

getOperation

public AxisOperation getOperation(QName operationName)
Method getOperation.

Parameters:
operationName -
Returns:
Returns AxisOperation.

getOperationByAction

public AxisOperation getOperationByAction(String action)
Returns the AxisOperation which has been mapped to the given action.

Parameters:
action - the action key
Returns:
Returns the corresponding AxisOperation or null if it isn't found.

getOperationBySOAPAction

public AxisOperation getOperationBySOAPAction(String soapAction)
Returns the operation given a SOAP Action. This method should be called if only one Endpoint is defined for this Service. If more than one Endpoint exists, one of them will be picked. If more than one Operation is found with the given SOAP Action; null will be returned. If no particular Operation is found with the given SOAP Action; null will be returned.

Parameters:
soapAction - SOAP Action defined for the particular Operation
Returns:
Returns an AxisOperation if a unique Operation can be found with the given SOAP Action otherwise will return null.

getOperations

public Iterator getOperations()
Method getOperations.

Returns:
Returns HashMap

getPublishedOperations

public ArrayList getPublishedOperations()
Gets only the published operations.


setServiceDescription

public void setServiceDescription(String serviceDescription)
Sets the description about the service which is specified in services.xml

Parameters:
serviceDescription -

setClassLoader

public void setClassLoader(ClassLoader classLoader)
Method setClassLoader.

Parameters:
classLoader -

setFileName

public void setFileName(URL fileName)

setLastupdate

public void setLastupdate()
Sets the current time as last update time of the service.


setName

public void setName(String name)

getSchema

public ArrayList getSchema()

addSchema

public void addSchema(org.apache.ws.commons.schema.XmlSchema schema)

addSchema

public void addSchema(Collection schemas)

isWsdlFound

public boolean isWsdlFound()

setWsdlFound

public void setWsdlFound(boolean wsdlFound)

getScope

public String getScope()

setScope

public void setScope(String scope)
Parameters:
scope - - Available scopes : Constants.SCOPE_APPLICATION Constants.SCOPE_TRANSPORT_SESSION Constants.SCOPE_SOAP_SESSION Constants.SCOPE_REQUEST.equals

isUseDefaultChains

public boolean isUseDefaultChains()

setUseDefaultChains

public void setUseDefaultChains(boolean useDefaultChains)

getKey

public Object getKey()
Specified by:
getKey in class AxisDescription

isActive

public boolean isActive()

setActive

public void setActive(boolean active)

getSchematargetNamespace

public String getSchematargetNamespace()

setSchematargetNamespace

public void setSchematargetNamespace(String schematargetNamespace)

getSchematargetNamespacePrefix

public String getSchematargetNamespacePrefix()

setSchematargetNamespacePrefix

public void setSchematargetNamespacePrefix(String schematargetNamespacePrefix)

getTargetNamespace

public String getTargetNamespace()

setTargetNamespace

public void setTargetNamespace(String targetNamespace)

getTargetNamespacePrefix

public String getTargetNamespacePrefix()

setTargetNamespacePrefix

public void setTargetNamespacePrefix(String targetNamespacePrefix)

getSchemaElement

public org.apache.ws.commons.schema.XmlSchemaElement getSchemaElement(QName elementQName)

isEnableAllTransports

public boolean isEnableAllTransports()

setEnableAllTransports

public void setEnableAllTransports(boolean enableAllTransports)
To eneble service to be expose in all the transport

Parameters:
enableAllTransports -

getExposedTransports

public List getExposedTransports()

setExposedTransports

public void setExposedTransports(List transports)

addExposedTransport

public void addExposedTransport(String transport)

removeExposedTransport

public void removeExposedTransport(String transport)

isExposedTransport

public boolean isExposedTransport(String transport)

disengageModule

public void disengageModule(AxisModule module)

isEngaged

public boolean isEngaged(QName moduleName)
Specified by:
isEngaged in class AxisDescription

createClientSideAxisService

public static AxisService createClientSideAxisService(URL wsdlURL,
                                                      QName wsdlServiceName,
                                                      String portName,
                                                      Options options)
                                               throws AxisFault
To create a AxisService for a given WSDL and the created client is most suitable for client side invocation not for server side invocation. Since all the soap action and wsa action is added to operations

Parameters:
wsdlURL - location of the WSDL
wsdlServiceName - name of the service to be invoke , if it is null then the first one will be selected if there are more than one
portName - name of the port , if there are more than one , if it is null then the first one in the iterator will be selected
options - Service client options, to set the target EPR
Returns:
AxisService , the created service will be return
Throws:
AxisFault

createClientSideAxisService

public static AxisService createClientSideAxisService(javax.wsdl.Definition wsdlDefinition,
                                                      QName wsdlServiceName,
                                                      String portName,
                                                      Options options)
                                               throws AxisFault
Throws:
AxisFault

createService

public static AxisService createService(String implClass,
                                        AxisConfiguration axisConfig,
                                        Class messageReceiverClass)
                                 throws AxisFault
To create an AxisService using given service impl class name first generate schema corresponding to the given java class , next for each methods AxisOperation will be created.

Note : Inorder to work this properly RPCMessageReceiver should be available in the class path otherewise operation can not continue

Parameters:
implClass -
axisConfig -
Returns:
return created AxisSrevice
Throws:
AxisFault

createService

public static AxisService createService(String implClass,
                                        AxisConfiguration axisConfiguration,
                                        Map messageReceiverClassMap,
                                        String targetNamespace,
                                        String schemaNamespace)
                                 throws AxisFault
messageReceiverClassMap will hold the MessageReceivers for given meps. Key will be the mep and value will be the instance of the MessageReceiver class. Ex: Map mrMap = new HashMap(); mrMap.put("http://www.w3.org/2004/08/wsdl/in-only", RPCInOnlyMessageReceiver.class.newInstance()); mrMap.put("http://www.w3.org/2004/08/wsdl/in-out", RPCMessageReceiver.class.newInstance());

Parameters:
implClass -
axisConfiguration -
messageReceiverClassMap -
targetNamespace -
schemaNamespace -
Throws:
AxisFault

createService

public static AxisService createService(String implClass,
                                        AxisConfiguration axisConfig,
                                        Class messageReceiverClass,
                                        String targetNameSpace,
                                        String schemaNameSpace)
                                 throws AxisFault
To create a service for a given Java class with user defined schema and target namespaces. This method should be used iff, the operations in the service class is homogeneous.

Parameters:
implClass - : full name of the class
axisConfig - : current AxisConfgiuration
messageReceiverClass - : Message receiver that you want to use
targetNameSpace - : Service namespace
schemaNameSpace - : Schema namespace
Throws:
AxisFault

createService

public static AxisService createService(String implClass,
                                        AxisConfiguration axisConfig)
                                 throws AxisFault
Throws:
AxisFault

removeOperation

public void removeOperation(QName opName)

getNameSpacesMap

public Map getNameSpacesMap()

setNameSpacesMap

public void setNameSpacesMap(org.apache.ws.commons.schema.utils.NamespaceMap nameSpacesMap)

populateSchemaMappings

public void populateSchemaMappings()
runs the schema mappings if it has not been run previously it is best that this logic be in the axis service since one can call the axis service to populate the schema mappings


isClientSide

public boolean isClientSide()

setClientSide

public void setClientSide(boolean clientSide)

isElementFormDefault

public boolean isElementFormDefault()

setElementFormDefault

public void setElementFormDefault(boolean elementFormDefault)

isUseUserWSDL

public boolean isUseUserWSDL()
User can set a parameter in services.xml saying he want to show the original wsdl that he put into META-INF once someone ask for ?wsdl so if you want to use your own wsdl then add following parameter into services.xml true


getServiceLifeCycle

public ServiceLifeCycle getServiceLifeCycle()

setServiceLifeCycle

public void setServiceLifeCycle(ServiceLifeCycle serviceLifeCycle)

getP2nMap

public Map getP2nMap()

setP2nMap

public void setP2nMap(Map p2nMap)

getObjectSupplier

public ObjectSupplier getObjectSupplier()

setObjectSupplier

public void setObjectSupplier(ObjectSupplier objectSupplier)

getTypeTable

public org.apache.ws.java2wsdl.utils.TypeTable getTypeTable()

setTypeTable

public void setTypeTable(org.apache.ws.java2wsdl.utils.TypeTable typeTable)