Class AxisOperation

java.lang.Object
org.apache.axis2.description.AxisDescription
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
  • Field Details

  • Constructor Details

    • AxisOperation

      public AxisOperation()
      Default constructor
    • AxisOperation

      public AxisOperation(QName name)
  • Method Details

    • 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
    • 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()