Package org.apache.axis2.description
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
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.apache.axis2.wsdl.WSDLConstants
WSDLConstants.WSDL11Constants
-
-
Field Summary
Fields Modifier and Type Field Description 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.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
-
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
-
-
Constructor Summary
Constructors Constructor Description AxisOperation()
Default constructorAxisOperation(QName name)
-
Method Summary
-
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
-
-
-
-
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 classAxisDescription
- Parameters:
axisModule
- AxisModule being engagedengager
- the AxisDescription where the engage occurred - could be us or a parent- Throws:
AxisFault
-
onDisengage
protected void onDisengage(AxisModule module)
- Overrides:
onDisengage
in classAxisDescription
-
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 searchserviceContext
- 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)
-
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()
-
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 interfaceParameterInclude
- Overrides:
isParameterLocked
in classAxisDescription
-
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 ServiceContextoptions
- active Options- Returns:
- an OperationClient set up appropriately for this operation
-
getKey
public Object getKey()
- Specified by:
getKey
in classAxisDescription
-
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)
-
removeFaultAction
public void removeFaultAction(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()
-
-