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
static java.lang.String STYLE_DOC
           
static java.lang.String STYLE_MSG
           
static java.lang.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()
          constructor
AxisOperation(QName name)
           
 
Method Summary
 void addFaultAction(java.lang.String faultName, java.lang.String action)
           
abstract  void addFaultMessageContext(MessageContext msgContext, OperationContext opContext)
           
abstract  void addMessage(AxisMessage message, java.lang.String label)
           
abstract  void addMessageContext(MessageContext msgContext, OperationContext opContext)
          Adds a message context into an operation context.
 void addModule(java.lang.String moduleName)
           
 void addModuleConfig(ModuleConfiguration moduleConfiguration)
          Adds module configuration, if there is moduleConfig tag in operation.
 OperationClient createClient(ServiceContext sc, Options options)
           
 OperationContext findForExistingOperationContext(MessageContext msgContext)
          Returns as existing OperationContext related to this message if one exists.
 OperationContext findOperationContext(MessageContext msgContext, ServiceContext serviceContext)
          Finds a MEPContext for an incoming message.
 AxisService getAxisService()
          Typesafe access to parent service
 int getAxisSpecificMEPConstant()
          Maps the String URI of the Message exchange pattern to a integer.
 java.lang.String getFaultAction()
           
 java.lang.String getFaultAction(java.lang.String faultName)
           
 java.lang.String[] getFaultActionNames()
           
 java.util.ArrayList getFaultMessages()
           
 java.lang.String getInputAction()
           
 java.lang.Object getKey()
           
abstract  AxisMessage getMessage(java.lang.String label)
           
 java.lang.String getMessageExchangePattern()
           
 MessageReceiver getMessageReceiver()
           
 java.util.Iterator getMessages()
          All childerns of a AxisOperation must be Messages.
 ModuleConfiguration getModuleConfig(java.lang.String moduleName)
           
 java.util.ArrayList getModuleRefs()
           
 QName getName()
           
 java.lang.String getOutputAction()
           
abstract  java.util.ArrayList getPhasesInFaultFlow()
           
abstract  java.util.ArrayList getPhasesOutFaultFlow()
           
abstract  java.util.ArrayList getPhasesOutFlow()
           
abstract  java.util.ArrayList getRemainingPhasesInFlow()
           
 java.lang.String getSoapAction()
           
 java.lang.String getStyle()
           
 java.util.ArrayList getWSAMappingList()
           
 boolean isControlOperation()
           
 boolean isParameterLocked(java.lang.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(java.lang.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(java.lang.String mepURI)
           
 void setMessageReceiver(MessageReceiver messageReceiver)
           
 void setName(QName name)
           
 void setOutputAction(java.lang.String act)
           
abstract  void setPhasesInFaultFlow(java.util.ArrayList list)
           
abstract  void setPhasesOutFaultFlow(java.util.ArrayList list)
           
abstract  void setPhasesOutFlow(java.util.ArrayList list)
           
abstract  void setRemainingPhasesInFlow(java.util.ArrayList list)
           
 void setSoapAction(java.lang.String soapAction)
           
 void setStyle(java.lang.String style)
           
 void setWsamappingList(java.util.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 java.lang.String STYLE_RPC
See Also:
Constant Field Values

STYLE_MSG

public static final java.lang.String STYLE_MSG
See Also:
Constant Field Values

STYLE_DOC

public static final java.lang.String STYLE_DOC
See Also:
Constant Field Values
Constructor Detail

AxisOperation

public AxisOperation()
constructor


AxisOperation

public AxisOperation(QName name)
Method Detail

addMessage

public abstract void addMessage(AxisMessage message,
                                java.lang.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(java.lang.String moduleName)

addModuleConfig

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

Parameters:
moduleConfiguration -

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
engager -
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.

Parameters:
msgContext -
Returns:
Returns OperationContext.
Throws:
AxisFault

findOperationContext

public OperationContext findOperationContext(MessageContext msgContext,
                                             ServiceContext serviceContext)
                                      throws AxisFault
Finds a MEPContext 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 -
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 a integer. Further, in the first lookup, it will cache the looked up value so that the subsequent method calls are extremely efficient.


getMessage

public abstract AxisMessage getMessage(java.lang.String label)

getMessageExchangePattern

public java.lang.String getMessageExchangePattern()

getMessageReceiver

public MessageReceiver getMessageReceiver()

getModuleConfig

public ModuleConfiguration getModuleConfig(java.lang.String moduleName)

getModuleRefs

public java.util.ArrayList getModuleRefs()

getName

public QName getName()

getPhasesInFaultFlow

public abstract java.util.ArrayList getPhasesInFaultFlow()

getPhasesOutFaultFlow

public abstract java.util.ArrayList getPhasesOutFaultFlow()

getPhasesOutFlow

public abstract java.util.ArrayList getPhasesOutFlow()

getRemainingPhasesInFlow

public abstract java.util.ArrayList getRemainingPhasesInFlow()

getStyle

public java.lang.String getStyle()

getWSAMappingList

public java.util.ArrayList getWSAMappingList()

isControlOperation

public boolean isControlOperation()

isParameterLocked

public boolean isParameterLocked(java.lang.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(java.lang.String mepURI)

setMessageReceiver

public void setMessageReceiver(MessageReceiver messageReceiver)

setName

public void setName(QName name)

setPhasesInFaultFlow

public abstract void setPhasesInFaultFlow(java.util.ArrayList list)

setPhasesOutFaultFlow

public abstract void setPhasesOutFaultFlow(java.util.ArrayList list)

setPhasesOutFlow

public abstract void setPhasesOutFlow(java.util.ArrayList list)

setRemainingPhasesInFlow

public abstract void setRemainingPhasesInFlow(java.util.ArrayList list)

setStyle

public void setStyle(java.lang.String style)

setWsamappingList

public void setWsamappingList(java.util.ArrayList wsamappingList)

createClient

public OperationClient createClient(ServiceContext sc,
                                    Options options)

getKey

public java.lang.Object getKey()
Specified by:
getKey in class AxisDescription

getFaultMessages

public java.util.ArrayList getFaultMessages()

setFaultMessages

public void setFaultMessages(AxisMessage faultMessage)

setSoapAction

public void setSoapAction(java.lang.String soapAction)

getInputAction

public java.lang.String getInputAction()

getOutputAction

public java.lang.String getOutputAction()

setOutputAction

public void setOutputAction(java.lang.String act)

addFaultAction

public void addFaultAction(java.lang.String faultName,
                           java.lang.String action)

removeFaultAction

public void removeFaultAction(java.lang.String faultName)

getFaultAction

public java.lang.String getFaultAction(java.lang.String faultName)

getFaultActionNames

public java.lang.String[] getFaultActionNames()

getFaultAction

public java.lang.String getFaultAction()

getMessages

public java.util.Iterator getMessages()
All childerns of a AxisOperation must be Messages. So we just return it.

Returns:

getAxisService

public AxisService getAxisService()
Typesafe access to parent service

Returns:
the AxisService which contains this AxisOperation

getSoapAction

public java.lang.String getSoapAction()


Copyright © 2007 Apache Web Services Project. All Rights Reserved.