public class SoapOperation
extends java.lang.Object
Data for an exported SOAP operation is read from the .wsm Procedure
node; if this is a
persistent procedure, its internal entries are loaded from ProcDetail
nodes.
Modifier and Type | Field and Description |
---|---|
(package private) boolean |
excluded
Flag indicating this operation is excluded (
Procedure/ProcDetail/InternalProc#isExcluded ). |
(package private) java.lang.String |
file
The file targeted by this operation.
|
(package private) java.lang.String |
name
The operation name (the
Procedure/Name node). |
(package private) java.lang.String |
operation
The computed WSDL operation name.
|
private java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> |
paramCfgs
The operation's parameters, by their name.
|
private java.util.Map<java.lang.String,org.w3c.dom.Element> |
paramEls
The operation's parameter XML elements, by their name.
|
(package private) java.util.List<SoapOperationParameter> |
parameters
The operation's parameter list.
|
(package private) SoapOperation |
parent
The parent operation (for persistent procedure).
|
(package private) java.lang.String |
parentService
The parent service name (for WSDL binding).
|
(package private) boolean |
persistent
Flag indicating if this is a persistent procedure (
Procedure#isPersistent ). |
(package private) boolean |
registered
Flag indicating if this exported operation from the .wsm file was registered in WSDL.
|
(package private) int |
retValType
The return parameter's type.
|
(package private) java.lang.String |
service
The computed SOAP service name (for WSDL binding).
|
(package private) SoapConfig |
soap
The associated root SOAP configuration (.wsm file) for this operation.
|
(package private) boolean |
useRetVal
Flag indicating that the return value parameter is used (named
result ). |
Constructor and Description |
---|
SoapOperation(SoapConfig soap,
SoapOperation parent,
java.lang.String operation)
Create a new instance with the specified details.
|
SoapOperation(SoapConfig soap,
java.lang.String file,
java.lang.String name,
java.lang.String portType,
boolean isPersistent)
Create a new instance with the specified details.
|
SoapOperation(SoapOperation op)
Initialize this instance as a copy of the source operation.
|
Modifier and Type | Method and Description |
---|---|
void |
addDataSetParameter(Aast parameter,
SchemaDictionary dictionary)
Add a dataset parameter and load its fields, as they appear defined in the schema dictionary.
|
void |
addParameter(Aast parameter)
Add a parameter to this operation, from the service's target 4GL code.
|
void |
addTableParameter(Aast parameter,
SchemaDictionary dictionary)
Add a table parameter and load its fields, as they appear defined in the schema dictionary.
|
(package private) void |
createParameterMap(org.w3c.dom.NodeList procDetails,
java.lang.String parent)
|
java.lang.String |
getBinding()
Get the WSDL binding for this operation.
|
java.lang.String |
getNamespace()
Get the WSDL namespace for this operation, from the
DeploymentWizard/WebServiceNamespace
configuration in the .wsm file. |
java.lang.String |
getOperation()
Get the operation name.
|
java.util.List<SoapOperationParameter> |
getParameters(boolean input)
Get all the input or output parameters for this operation.
|
boolean |
isFor(java.lang.String file,
java.lang.String program,
java.lang.String internalEntry)
Check if this operation applies to the specified file, program and internal entry.
|
boolean |
isPersistent()
Get the
persistent flag for this operation. |
java.lang.String |
toString()
Get the string representation of this operation.
|
final java.lang.String file
final java.lang.String name
Procedure/Name
node).final boolean persistent
Procedure#isPersistent
).java.lang.String operation
boolean useRetVal
result
).int retValType
SoapOperation parent
SoapConfig soap
boolean excluded
Procedure/ProcDetail/InternalProc#isExcluded
).java.lang.String parentService
java.lang.String service
boolean registered
java.util.List<SoapOperationParameter> parameters
private java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> paramCfgs
private java.util.Map<java.lang.String,org.w3c.dom.Element> paramEls
public SoapOperation(SoapOperation op)
op
- The source operation.public SoapOperation(SoapConfig soap, java.lang.String file, java.lang.String name, java.lang.String portType, boolean isPersistent)
soap
- The root SOAP configuration.file
- The target file name.name
- The operation name.portType
- The target WSDL port type.isPersistent
- Flag indicating that this is a persistent operation.public SoapOperation(SoapConfig soap, SoapOperation parent, java.lang.String operation)
soap
- The root SOAP configuration.parent
- The parent operation.operation
- The operation name.public boolean isFor(java.lang.String file, java.lang.String program, java.lang.String internalEntry)
file
- The exported file for this operation. May be null
, in which case this is ignored.
Otherwise, the file must end with the parent's or this instance's file
.program
- The program name. If parent
is not-null, must match with name
, otherwise
with parent's name
.internalEntry
- The internal entry. Matched against name
only when parent
is set.true
if this operation matches the specified configuration.public void addParameter(Aast parameter)
parameter
- The parameter AST.public void addTableParameter(Aast parameter, SchemaDictionary dictionary)
parameter
- The parameter definition AST.dictionary
- The schema dictionary.public void addDataSetParameter(Aast parameter, SchemaDictionary dictionary)
parameter
- The parameter definition AST.dictionary
- The schema dictionary.public java.util.List<SoapOperationParameter> getParameters(boolean input)
input
- Flag indicating if input or output parameters are required. INPUT-OUTPUT are included for
either case.public java.lang.String toString()
toString
in class java.lang.Object
public boolean isPersistent()
persistent
flag for this operation.public java.lang.String getOperation()
operation
.public java.lang.String getBinding()
persistent
program, the
parentService
is returned. Otherwise, service
is used as the binding name.public java.lang.String getNamespace()
DeploymentWizard/WebServiceNamespace
configuration in the .wsm file.void createParameterMap(org.w3c.dom.NodeList procDetails, java.lang.String parent)
procDetails
- The ProcDetails XML element.parent
- The name of the parent node.