org.apache.axis2.description
Class AxisOperation

java.lang.Object
  extended by org.apache.axis2.description.AxisDescription
      extended by org.apache.axis2.description.AxisOperation
All Implemented Interfaces:
DescriptionConstants, ParameterInclude, WSDLConstants
Direct Known Subclasses:
InOnlyAxisOperation, OutOnlyAxisOperation, TwoChannelAxisOperation

public abstract class AxisOperation
extends AxisDescription
implements WSDLConstants


Nested Class Summary
 
Nested classes/interfaces inherited from interface org.apache.axis2.wsdl.WSDLConstants
WSDLConstants.WSDL11Constants, WSDLConstants.WSDL20_2004_Constants, WSDLConstants.WSDL20_2006Constants
 
Field Summary
protected  String mepURI
           
static String STYLE_DOC
           
static String STYLE_MSG
           
static String STYLE_RPC
           
 
Fields inherited from class org.apache.axis2.description.AxisDescription
engagedModules, parameterObservers, parent
 
Fields inherited from interface org.apache.axis2.wsdl.WSDLConstants
HTTP_HEADER, INPUT_PART_QNAME_SUFFIX, MEP_CONSTANT_IN_ONLY, MEP_CONSTANT_IN_OPTIONAL_OUT, MEP_CONSTANT_IN_OUT, MEP_CONSTANT_INVALID, MEP_CONSTANT_OUT_IN, MEP_CONSTANT_OUT_ONLY, MEP_CONSTANT_OUT_OPTIONAL_IN, MEP_CONSTANT_ROBUST_IN_ONLY, MEP_CONSTANT_ROBUST_OUT_ONLY, MESSAGE_LABEL_FAULT_VALUE, MESSAGE_LABEL_IN, MESSAGE_LABEL_IN_VALUE, MESSAGE_LABEL_OUT, MESSAGE_LABEL_OUT_VALUE, OUTPUT_PART_QNAME_SUFFIX, SOAP_HEADER, WSDL_1_1, WSDL_1_1_STYLE, WSDL_2_0, WSDL_20_DESCRIPTION, WSDL_4_J_DEFINITION, WSDL_MESSAGE_DIRECTION_IN, WSDL_MESSAGE_DIRECTION_OUT, WSDL_MESSAGE_IN_MESSAGE, WSDL_MESSAGE_OUT_MESSAGE, WSDL_USE_ENCODED, WSDL_USE_LITERAL, WSDL1_1_NAMESPACE, WSDL2_0_NAMESPACE
 
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
AxisOperation()
          Default constructor
AxisOperation(QName name)
           
 
Method Summary
 void addFaultAction(String faultName, String action)
           
abstract  void addFaultMessageContext(MessageContext msgContext, OperationContext opContext)
           
abstract  void addMessage(AxisMessage message, String label)
           
abstract  void addMessageContext(MessageContext msgContext, OperationContext opContext)
          Adds a message context into an operation context.
 void addModule(String moduleName)
           
 void addModuleConfig(ModuleConfiguration moduleConfiguration)
          Adds module configuration, if there is moduleConfig tag in operation.
abstract  OperationClient createClient(ServiceContext sc, Options options)
          Return an OperationClient suitable for this AxisOperation.
 OperationContext findForExistingOperationContext(MessageContext msgContext)
          Returns as existing OperationContext related to this message if one exists.
 OperationContext findOperationContext(MessageContext msgContext, ServiceContext serviceContext)
          Finds an OperationContext for an incoming message.
 AxisService getAxisService()
          Typesafe access to parent service
 int getAxisSpecificMEPConstant()
          Maps the String URI of the Message exchange pattern to an integer.
 String getFaultAction()
           
 String getFaultAction(String faultName)
           
 String[] getFaultActionNames()
           
 ArrayList<AxisMessage> getFaultMessages()
           
 String getInputAction()
           
 Object getKey()
           
abstract  AxisMessage getMessage(String label)
           
 String getMessageExchangePattern()
           
 MessageReceiver getMessageReceiver()
           
 Iterator<AxisMessage> getMessages()
          Get the messages referenced by this operation
 ModuleConfiguration getModuleConfig(String moduleName)
           
 ArrayList<String> getModuleRefs()
           
 QName getName()
           
 String getOutputAction()
           
abstract  ArrayList getPhasesInFaultFlow()
           
abstract  ArrayList getPhasesOutFaultFlow()
           
abstract  ArrayList getPhasesOutFlow()
           
abstract  ArrayList getRemainingPhasesInFlow()
           
 String getSoapAction()
           
 String getStyle()
           
 ArrayList<String> getWSAMappingList()
           
 boolean isControlOperation()
           
 boolean isParameterLocked(String parameterName)
          Checks whether the parameter is locked at any level.
protected  void onDisengage(AxisModule module)
           
 void onEngage(AxisModule axisModule, AxisDescription engager)
          This is called when a module is engaged on this operation.
 void registerMessageContext(MessageContext msgContext, OperationContext operationContext)
           
 void registerOperationContext(MessageContext msgContext, OperationContext operationContext)
           
 void removeFaultAction(String faultName)
           
 void removeFromEngagedModuleList(AxisModule module)
          Deprecated. please use disengageModule(), this method will disappear after 1.3
 void setControlOperation(boolean controlOperation)
           
 void setFaultMessages(AxisMessage faultMessage)
           
 void setMessageExchangePattern(String mepURI)
           
 void setMessageReceiver(MessageReceiver messageReceiver)
           
 void setName(QName name)
           
 void setOutputAction(String act)
           
abstract  void setPhasesInFaultFlow(ArrayList list)
           
abstract  void setPhasesOutFaultFlow(ArrayList list)
           
abstract  void setPhasesOutFlow(ArrayList list)
           
abstract  void setRemainingPhasesInFlow(ArrayList list)
           
 void setSoapAction(String soapAction)
           
 void setStyle(String style)
           
 void setWsamappingList(ArrayList wsamappingList)
           
 
Methods inherited from class org.apache.axis2.description.AxisDescription
addChild, addChild, addParameter, addParameter, addParameterObserver, applyPolicy, applyPolicy, deserializeParameters, disengageModule, engageModule, engageModule, getAxisConfiguration, getChild, getChildren, getDocumentation, getDocumentationNode, getEngagedModules, getParameter, getParameters, getParameterValue, getParent, getPolicyInclude, getPolicySubject, isEngaged, isEngaged, isParameterTrue, removeChild, removeParameter, removeParameterObserver, setDocumentation, setDocumentation, setParent, setPolicyInclude
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

STYLE_RPC

public static final String STYLE_RPC
See Also:
Constant Field Values

STYLE_MSG

public static final String STYLE_MSG
See Also:
Constant Field Values

STYLE_DOC

public static final String STYLE_DOC
See Also:
Constant Field Values

mepURI

protected String mepURI
Constructor Detail

AxisOperation

public AxisOperation()
Default constructor


AxisOperation

public AxisOperation(QName name)
Method Detail

addMessage

public abstract void addMessage(AxisMessage message,
                                String label)

addMessageContext

public abstract void addMessageContext(MessageContext msgContext,
                                       OperationContext opContext)
                                throws AxisFault
Adds a message context into an operation context. Depending on MEPs, this method has to be overridden. Depending on the MEP operation description know how to fill the message context map in operationContext. As an example, if the MEP is IN-OUT then depending on messagable operation description should know how to keep them in correct locations.

Parameters:
msgContext - MessageContext
opContext - OperationContext
Throws:
AxisFault - AxisFault

addFaultMessageContext

public abstract void addFaultMessageContext(MessageContext msgContext,
                                            OperationContext opContext)
                                     throws AxisFault
Throws:
AxisFault

addModule

public void addModule(String moduleName)

addModuleConfig

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

Parameters:
moduleConfiguration - a ModuleConfiguration which will be added (by name)

onEngage

public final void onEngage(AxisModule axisModule,
                           AxisDescription engager)
                    throws AxisFault
This is called when a module is engaged on this operation. Handle operation-specific tasks.

Overrides:
onEngage in class AxisDescription
Parameters:
axisModule - AxisModule being engaged
engager - the AxisDescription where the engage occurred - could be us or a parent
Throws:
AxisFault

onDisengage

protected void onDisengage(AxisModule module)
Overrides:
onDisengage in class AxisDescription

removeFromEngagedModuleList

public void removeFromEngagedModuleList(AxisModule module)
Deprecated. please use disengageModule(), this method will disappear after 1.3

To remove module from engage module list

Parameters:
module - module to remove

findForExistingOperationContext

public OperationContext findForExistingOperationContext(MessageContext msgContext)
                                                 throws AxisFault
Returns as existing OperationContext related to this message if one exists.

TODO - why both this and findOperationContext()? (GD)

Parameters:
msgContext - the MessageContext for which we'd like an OperationContext
Returns:
the OperationContext, or null
Throws:
AxisFault

findOperationContext

public OperationContext findOperationContext(MessageContext msgContext,
                                             ServiceContext serviceContext)
                                      throws AxisFault
Finds an OperationContext for an incoming message. An incoming message can be of two states.

1)This is a new incoming message of a given MEP. 2)This message is a part of an MEP which has already begun.

The method is special cased for the two MEPs

#IN_ONLY #IN_OUT

for two reasons. First reason is the wide usage and the second being that the need for the MEPContext to be saved for further incoming messages.

In the event that MEP of this operation is different from the two MEPs defaulted above the decision of creating a new or this message relates to a MEP which already in business is decided by looking at the WSA Relates TO of the incoming message.

Parameters:
msgContext - MessageContext to search
serviceContext - ServiceContext (TODO - why pass this? (GD))
Returns:
the active OperationContext
Throws:
AxisFault

registerOperationContext

public void registerOperationContext(MessageContext msgContext,
                                     OperationContext operationContext)
                              throws AxisFault
Throws:
AxisFault

registerMessageContext

public void registerMessageContext(MessageContext msgContext,
                                   OperationContext operationContext)
                            throws AxisFault
Throws:
AxisFault

getAxisSpecificMEPConstant

public int getAxisSpecificMEPConstant()
Maps the String URI of the Message exchange pattern to an integer. Further, in the first lookup, it will cache the looked up value so that the subsequent method calls are extremely efficient.

Returns:
an MEP constant from WSDLConstants

getMessage

public abstract AxisMessage getMessage(String label)

getMessageExchangePattern

public String getMessageExchangePattern()

getMessageReceiver

public MessageReceiver getMessageReceiver()

getModuleConfig

public ModuleConfiguration getModuleConfig(String moduleName)

getModuleRefs

public ArrayList<String> getModuleRefs()

getName

public QName getName()

getPhasesInFaultFlow

public abstract ArrayList getPhasesInFaultFlow()

getPhasesOutFaultFlow

public abstract ArrayList getPhasesOutFaultFlow()

getPhasesOutFlow

public abstract ArrayList getPhasesOutFlow()

getRemainingPhasesInFlow

public abstract ArrayList getRemainingPhasesInFlow()

getStyle

public String getStyle()

getWSAMappingList

public ArrayList<String> getWSAMappingList()

isControlOperation

public boolean isControlOperation()

isParameterLocked

public boolean isParameterLocked(String parameterName)
Description copied from interface: ParameterInclude
Checks whether the parameter is locked at any level.

Specified by:
isParameterLocked in interface ParameterInclude
Overrides:
isParameterLocked in class AxisDescription

setControlOperation

public void setControlOperation(boolean controlOperation)

setMessageExchangePattern

public void setMessageExchangePattern(String mepURI)

setMessageReceiver

public void setMessageReceiver(MessageReceiver messageReceiver)

setName

public void setName(QName name)

setPhasesInFaultFlow

public abstract void setPhasesInFaultFlow(ArrayList list)

setPhasesOutFaultFlow

public abstract void setPhasesOutFaultFlow(ArrayList list)

setPhasesOutFlow

public abstract void setPhasesOutFlow(ArrayList list)

setRemainingPhasesInFlow

public abstract void setRemainingPhasesInFlow(ArrayList list)

setStyle

public void setStyle(String style)

setWsamappingList

public void setWsamappingList(ArrayList wsamappingList)

createClient

public abstract OperationClient createClient(ServiceContext sc,
                                             Options options)
Return an OperationClient suitable for this AxisOperation.

Parameters:
sc - active ServiceContext
options - active Options
Returns:
an OperationClient set up appropriately for this operation

getKey

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

getFaultMessages

public ArrayList<AxisMessage> getFaultMessages()

setFaultMessages

public void setFaultMessages(AxisMessage faultMessage)

setSoapAction

public void setSoapAction(String soapAction)

getInputAction

public String getInputAction()

getOutputAction

public String getOutputAction()

setOutputAction

public void setOutputAction(String act)

addFaultAction

public void addFaultAction(String faultName,
                           String action)

removeFaultAction

public void removeFaultAction(String faultName)

getFaultAction

public String getFaultAction(String faultName)

getFaultActionNames

public String[] getFaultActionNames()

getFaultAction

public String getFaultAction()

getMessages

public Iterator<AxisMessage> getMessages()
Get the messages referenced by this operation

Returns:
an Iterator of all the AxisMessages we deal with

getAxisService

public AxisService getAxisService()
Typesafe access to parent service

Returns:
the AxisService which contains this AxisOperation

getSoapAction

public String getSoapAction()


Copyright © 2004-2012 The Apache Software Foundation. All Rights Reserved.