public class WSDefinition extends AbstractDefinition
The webservice data control definitions can be created in following ways
#loadFromMetadata(Node, HashMap)
to load from the metadata definition. Once the definition is loaded,
it calls the createDataControl()
to create the data control
instance.
AbstractDefinition
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
ALTERNATE_PARAM_TYPE
Alternate type hint in structuredef.
|
static java.lang.String |
ATTR_CONNECTION
Connection Attribute for the Adapter.
|
static java.lang.String |
ATTR_DATATYPE
Part Datatype attribute
|
static java.lang.String |
ATTR_DEFAULT_VALUE
Parameter Value tag
|
static java.lang.String |
ATTR_FORMAT
Format attribute
|
static java.lang.String |
ATTR_NAME
Name attribute
|
static java.lang.String |
ATTR_NAMESPACE
Operation Name Space Attribute
|
static java.lang.String |
ATTR_PARAM_NAME
HttpHeaders ParamName attribute
|
static java.lang.String |
ATTR_PROVIDER
Provider element, describes the underlying invocation provider
for the data control.
|
static java.lang.String |
ATTR_VERSION
Version attribute
|
static java.lang.String |
ATTR_WSDL
WSDL attribute
|
static java.lang.String |
ELEM_DATAFORMAT
Data Format element, describes a Data format
|
static java.lang.String |
ELEM_DEFINITION
The definition node for this data control
|
static java.lang.String |
ELEM_HTTP_HEADERS
HttpHeaders Element, describes the custom Http Headers.
|
static java.lang.String |
ELEM_OPERATION
Operation Element
|
static java.lang.String |
ELEM_PARAMETER
Parameter tag
|
static java.lang.String |
ELEM_PARAMETERS
Parameters tag
|
static java.lang.String |
ELEM_PORT
Port Element, describes a port.
|
static java.lang.String |
ELEM_SERVICE
Service Element in the XML Metadata file
|
static java.lang.String |
ENSURE_KEY_ATTRIBUTE
Value of Attribute in MetaData will enforce PrimaryKey in structure
|
static java.lang.String |
LOGGER |
static java.lang.String |
USE_PERSIST_STRUCT |
static java.lang.String |
USE_WSDL_IDENTITY
Value of Attribute in MetaData will enforce reading of identity from wsdl
|
static java.lang.String |
XMLNS
Namespace in which this metadata is defined
|
CACHE_TO_SOURCEPATH, DONT_CACHE, mDCConfiguration, mFullName, mRootDefName
TYPE_ACCESSOR, TYPE_ATTRIBUTE, TYPE_CRITERIA, TYPE_CRITERIA_ITEM, TYPE_CRITERIA_OPERATOR, TYPE_CRITERIA_ROW, TYPE_DATACONTROL, TYPE_DEFINITION, TYPE_DEFINITIONCONTEXT, TYPE_NAMED, TYPE_OPERATION, TYPE_OPERATIONRETURN, TYPE_PARAMETER, TYPE_STRUCTURE, TYPE_VARIABLE
Constructor and Description |
---|
WSDefinition()
Create this Data Control defintion
|
WSDefinition(java.lang.String name)
Create Data Control defintion
|
WSDefinition(java.lang.String name,
java.net.URL wsdlURL)
Create this Data control definition instance.
|
WSDefinition(java.lang.String name,
java.net.URL wsdlURL,
boolean createConn)
Create this Data control definition instance.
|
WSDefinition(java.lang.String name,
java.net.URL wsdlURL,
boolean createConn,
boolean sharedConn)
Create this Data control definition instance.
|
WSDefinition(java.lang.String name,
java.net.URL wsdlURL,
boolean createConn,
boolean sharedConn,
java.lang.String connName)
Create this Data control definition instance.
|
WSDefinition(java.lang.String name,
java.net.URL wsdlURL,
WSModel model,
javax.xml.namespace.QName serviceName)
Create this Data control definition instance from the WSDL url and
the model representing the service.
|
WSDefinition(java.lang.String name,
java.net.URL wsdlUrl,
WSModel model,
javax.xml.namespace.QName serviceName,
java.lang.String portName,
boolean createConn,
boolean sharedConn)
Use the constructor if WSDL has more than one service or port
|
WSDefinition(java.lang.String name,
java.net.URL wsdlUrl,
WSModel model,
javax.xml.namespace.QName serviceName,
java.lang.String portName,
boolean createConn,
boolean sharedConn,
java.lang.String connName)
Use the constructor if WSDL has more than one service or port
|
WSDefinition(java.net.URL wsdlURL)
Create this Data Control defintion from the WSDL source
|
Modifier and Type | Method and Description |
---|---|
void |
bindServiceConnection(javax.naming.Context context)
Bind the underlying connection used by this data control into the
context provided by the caller.
|
DataControl |
createDataControl()
Creates an instance of the Webservice data control generated
from the metadata definition.
|
protected void |
destroy()
Destroy this definition instance.
|
java.lang.String |
getAdapterType()
Get the adapter type of this data control.
|
WebServiceConnection |
getConnection() |
java.lang.String |
getConnectionName() |
java.lang.String |
getDCName()
Get the name of the Data control for which this Definition is created.
|
java.util.Map |
getDCOperations()
Get the operations that the data control can invoke on the service
|
java.util.Map |
getDCOperationsInternal()
Deprecated.
Use
getDCOperations()
This method returns the web service operations that have been included in the data control.
If no operations have been included it returns null |
java.util.Map |
getDefaultDCOperations(javax.xml.namespace.QName serviceName)
Get the Default operations for a given service.
|
boolean |
getEnsureStructureV2()
Deprecated.
|
java.lang.String |
getHttHeaderParamName() |
org.w3c.dom.Node |
getMetadata()
Returns the element that defines the metadata for the data control.
|
WSModel |
getModel()
Get the underlying webservice model for this definition's source.
|
java.lang.String |
getRequestSoapHeader()
Get the custom SOAP header.
|
java.lang.String |
getResponseSoapHeader()
Get the response soap header.
|
java.lang.String |
getRootStructureName()
Get the root structure definition name for this dc
|
java.util.List<java.lang.String> |
getSavedPortNames()
Returns the saved ports in metadata
|
SecurityModel |
getSecurityModel()
Get the underlying security model for this Data control.
|
javax.xml.namespace.QName |
getServiceName()
Get the default service name for this Data control definition
|
StructureDefinition |
getStructure()
Get the strcuture definition for the data
|
java.util.Map<java.lang.String,java.lang.String> |
getUserRequestHttpHeaderParams() |
boolean |
getUseWSDLIdentity()
Deprecated.
|
java.net.URL |
getWSDL() |
java.lang.String |
getWSDLLocation()
Deprecated.
|
boolean |
isIncludeHttpHeaders() |
boolean |
isStructureDirty(boolean refresh)
Tells the framework whether the Data control structure is dirty and needs
to be refreshed on the palette.
|
boolean |
isSupported(java.lang.String flag)
Indicates if the adapter support things like sorting, transaction etc.
|
void |
loadFromMetadata(org.w3c.dom.Node node,
java.util.Map params)
Loads the definition from a metadata
Node . |
void |
refresh() |
void |
refresh(WSModel model)
Refresh the underlying model of the data control.
|
void |
refresh(WSModel model,
boolean reloadOperations) |
void |
setConnectionName(java.lang.String connName) |
void |
setDCOperations(java.util.Map dcOperations)
Set the Data control operations in this Defintion.
|
void |
setEnsureKeyAttribute(boolean ensureKeyAttribute)
Deprecated.
|
void |
setEnsureStructureV2(boolean ensureStructureV2)
Deprecated.
|
void |
setHttHeaderParamName(java.lang.String mHttpHeaderParamName) |
void |
setIncludeHttpHeaders(boolean mIncludeHttpHeaders) |
void |
setRequestSoapHeader(java.lang.String requestSoapHeader)
Set the custom soap header to be passed during WS invocation.
|
void |
setResponseSoapHeader(java.lang.String responseSoapHeader)
Set the response soap header.
|
void |
setRootStructureName(java.lang.String rootDefName)
Set the qualified root structure def name for this dc structure
|
void |
setServiceName(javax.xml.namespace.QName serviceName)
Set the Service Name for this data control definition
|
void |
setUserRequestHttpHeaderParams(java.util.Map<java.lang.String,java.lang.String> mUserHttpHeaderParams) |
void |
setUseWSDLIdentity(boolean useWSDLIdentity)
Deprecated.
|
void |
setWSDL(java.lang.String wsdlURL) |
void |
updateModel(WSModel model)
Update the underlying model of the definition.
|
addParameter, assignDefaultPackage, createDuplicateDetailIterator, disableSharing, enableSharing, getAdapterContext, getCachingMode, getConfiguration, getConfigurationFullName, getDefClassName, getDefinitionParent, getDefinitionType, getFactoryClassName, getFullName, getJUDTDataControlName, getName, getParameter, getParameterCollection, getParameters, getProperties, getProperty, getRuntimeParameters, removeParameter, setAdapterContext, setCachingMode, setCompileProjectOnCreate, setConfigurationFullName, setFullName, setName, setProperty, shouldCompileProjectOnCreate, useDefinitionProvider, usePersistedStructure
public static final java.lang.String XMLNS
public static final java.lang.String ELEM_DEFINITION
public static final java.lang.String ELEM_SERVICE
public static final java.lang.String ELEM_OPERATION
public static final java.lang.String ELEM_PORT
public static final java.lang.String ELEM_HTTP_HEADERS
public static final java.lang.String ELEM_DATAFORMAT
public static final java.lang.String ATTR_FORMAT
public static final java.lang.String ATTR_PROVIDER
public static final java.lang.String ATTR_CONNECTION
public static final java.lang.String ATTR_NAME
public static final java.lang.String ATTR_NAMESPACE
public static final java.lang.String ATTR_DATATYPE
public static final java.lang.String ATTR_WSDL
public static final java.lang.String ATTR_VERSION
public static final java.lang.String ATTR_PARAM_NAME
public static final java.lang.String USE_PERSIST_STRUCT
public static final java.lang.String ENSURE_KEY_ATTRIBUTE
public static final java.lang.String ALTERNATE_PARAM_TYPE
public static final java.lang.String USE_WSDL_IDENTITY
public static final java.lang.String ELEM_PARAMETERS
public static final java.lang.String ELEM_PARAMETER
public static final java.lang.String ATTR_DEFAULT_VALUE
public static final java.lang.String LOGGER
public WSDefinition()
public WSDefinition(java.net.URL wsdlURL) throws AdapterException
wsdlURL
- The WSDL URL
describing the service.{@link
- AdapterException} if the data control definition
cannot be created from the WSDL URLAdapterException
public WSDefinition(java.lang.String name)
name
- Data Control name.public WSDefinition(java.lang.String name, java.net.URL wsdlURL, boolean createConn) throws AdapterException
name
- The name of the data control for which the definition
is being created.wsdlURL
- The URL of the service description.createconn
- Whether to create service connection and register
with context. Required for dc created at runtime.{@link
- AdapterException} if the definition for this data
control could be created. This failure may happen if the
WSDL url is invalid and the model cannot be initialized.
or the underlying connection cannot be created.AdapterException
public WSDefinition(java.lang.String name, java.net.URL wsdlURL, boolean createConn, boolean sharedConn) throws AdapterException
name
- The name of the data control for which the definition
is being created.wsdlURL
- The URL of the service description.createConn
- Whether to create service connection and register
with context. Required for dc created at runtime.sharedConn
- Whether to create service connection in shared
customization layer from mdssession, in place of
default adfshare/appuid layer. Applicable for dc
created at runtime.{@link
- AdapterException} if the definition for this data
control could be created. This failure may happen if the
WSDL url is invalid and the model cannot be initialized.
or the underlying connection cannot be created.AdapterException
public WSDefinition(java.lang.String name, java.net.URL wsdlURL, boolean createConn, boolean sharedConn, java.lang.String connName) throws AdapterException
name
- The name of the data control for which the definition
is being created.wsdlURL
- The URL of the service description.createConn
- Whether to create service connection and register
with context. Required for dc created at runtime.sharedConn
- Whether to create service connection in shared
customization layer from mdssession, in place of
default adfshare/appuid layer. Applicable for dc
created at runtime.connName
- Connection Name.{@link
- AdapterException} if the definition for this data
control could be created. This failure may happen if the
WSDL url is invalid and the model cannot be initialized.
or the underlying connection cannot be created.AdapterException
public WSDefinition(java.lang.String name, java.net.URL wsdlUrl, WSModel model, javax.xml.namespace.QName serviceName, java.lang.String portName, boolean createConn, boolean sharedConn, java.lang.String connName) throws AdapterException
name
- Id for the webservice datacontrolwsdlUrl
- model
- serviceName
- portName
- createConn
- sharedConn
- AdapterException
public WSDefinition(java.lang.String name, java.net.URL wsdlUrl, WSModel model, javax.xml.namespace.QName serviceName, java.lang.String portName, boolean createConn, boolean sharedConn) throws AdapterException
name
- Id for the webservice datacontrolwsdlUrl
- model
- serviceName
- portName
- createConn
- sharedConn
- AdapterException
public WSDefinition(java.lang.String name, java.net.URL wsdlURL) throws AdapterException
name
- The name of the data control for which the definition
is being created.wsdlURL
- The URL of the service description.{@link
- AdapterException} if the definition for this data
control could be created. This failure may happen if the
WSDL url is invalid and the model cannot be initialized.
or the underlying connection cannot be created.AdapterException
public WSDefinition(java.lang.String name, java.net.URL wsdlURL, WSModel model, javax.xml.namespace.QName serviceName) throws AdapterException
name
- The name of the data control for which the definition
is being created.wsdlURL
- The URL of the service description.model
- The model representing the Service. The model describes
all the ports and operations exposed by the service
description.serviceName
- The qualified service name for which the definition
is to be intialized. The service description may
describe more that one service. In such a case
the definition is created for the requested service.{@link
- AdapterException} if the definition for this data
control could be created. This failure may happen if the
WSDL url is invalid and the model cannot be initialized.
or the underlying connection cannot be created.AdapterException
public java.lang.String getDCName()
getDCName
in class AbstractDefinition
public WSModel getModel()
public java.net.URL getWSDL()
public void setWSDL(java.lang.String wsdlURL)
public java.util.List<java.lang.String> getSavedPortNames()
public java.util.Map getDCOperations()
Map
of the operations for this data control@Deprecated @Concealed public java.util.Map getDCOperationsInternal()
getDCOperations()
This method returns the web service operations that have been included in the data control.
If no operations have been included it returns nullMap
of the operations for this data control.public void setDCOperations(java.util.Map dcOperations)
dcOperations
- The Map
of the operations for this
data controlpublic javax.xml.namespace.QName getServiceName()
public void setServiceName(javax.xml.namespace.QName serviceName)
serviceName
- The Service name for for this definitionpublic java.lang.String getAdapterType()
getAdapterType
in class AbstractDefinition
AdapterDefinition
public SecurityModel getSecurityModel()
public DataControl createDataControl()
createDataControl
in class AbstractDefinition
null
If the data control instance could
not be created.public void loadFromMetadata(org.w3c.dom.Node node, java.util.Map params) throws AdapterException
Node
.loadFromMetadata
in class AbstractDefinition
node
- the metadata node. It can be null if no metadata is defined.params
- context parameters.{@link
- AdapterException} if the data control definition
cannot be reconstructed back from the metadata information.AdapterException
public StructureDefinition getStructure()
getStructure
in interface DataControlDefinition
getStructure
in class AbstractDefinition
StructureDefinition
representing the strcuture
of the data returned by this data control.public void refresh() throws AdapterException
AdapterException
public void refresh(WSModel model) throws AdapterException
AdapterException
public void refresh(WSModel model, boolean reloadOperations) throws AdapterException
AdapterException
public boolean isStructureDirty(boolean refresh)
refresh
if refresh is requested. If a refresh is needed,
the data control definition recreates the underlying model and connection
to update the metadata of any possible changes to the service operation
signature.isStructureDirty
in class AbstractDefinition
refresh
- flag to indicate if the refresh is requested for the
structure. If true
, the definition
regenerates the underlying model, operation map and
connection information. This re-generation is needed to
rebuild the structure and make sure that the runtime
has the right connection metadata to execute any modified
operation bindingstrue
if the implementation decides that the
structure of the data should be regenerated,
false
otherwise.public org.w3c.dom.Node getMetadata()
The WSDL is parsed to extract as much information as is needed to be stored in the metdata to invoke the service operation at runtime.
getMetadata
in class AbstractDefinition
Node
that defines the metadata for this instance.
This metadata will be used at the runtime to fetch data from the
data source.public java.util.Map getDefaultDCOperations(javax.xml.namespace.QName serviceName) throws AdapterException
serviceName
- The Qualified service Name for which operations
must be fetched.Map
of Operations for this service.{@link
- AdapterException} if the service does not exist in
the underlying model.AdapterException
public void bindServiceConnection(javax.naming.Context context) throws AdapterException
context
- The Context
provided by the caller into which
the connection for this service is to be bound.{@link
- AdapterException} If the connection cannot be bound into
the context provided.AdapterException
public boolean isSupported(java.lang.String flag)
AbstractDefinition
isSupported
in class AbstractDefinition
flag
- one of the values defined in
DataControlDefinition
.public void setRootStructureName(java.lang.String rootDefName)
setRootStructureName
in class AbstractDefinition
rootDefName
- The qualified root structure name for this dcpublic java.lang.String getRootStructureName()
getRootStructureName
in class AbstractDefinition
public void setIncludeHttpHeaders(boolean mIncludeHttpHeaders)
public boolean isIncludeHttpHeaders()
public java.lang.String getConnectionName()
public java.lang.String getHttHeaderParamName()
public void setHttHeaderParamName(java.lang.String mHttpHeaderParamName)
public WebServiceConnection getConnection()
public void setConnectionName(java.lang.String connName) throws java.lang.Exception
java.lang.Exception
public void updateModel(WSModel model)
model
- New modelprotected void destroy() throws AdapterException
Should be invoked by the data control when it is released from an application. The data control definition is voided out once the destroy is invoked. This includes cleaning up of the operations table, purging out the security model and the underlying connection bindings. The definition is not usable anymore once it is destroyed. A new instance of the definition must be created for the dc by loading the definition from the metadata.
AdapterException
- if the definition cannot be destroyed.@Deprecated @Concealed public void setEnsureKeyAttribute(boolean ensureKeyAttribute)
@Deprecated @Concealed public void setEnsureStructureV2(boolean ensureStructureV2)
@Deprecated @Concealed public boolean getEnsureStructureV2()
@Deprecated @Concealed public void setUseWSDLIdentity(boolean useWSDLIdentity)
@Deprecated @Concealed public boolean getUseWSDLIdentity()
@Concealed public java.lang.String getRequestSoapHeader()
@Concealed public void setRequestSoapHeader(java.lang.String requestSoapHeader)
@Concealed public java.lang.String getResponseSoapHeader()
@Concealed public void setResponseSoapHeader(java.lang.String responseSoapHeader)
@Deprecated @Concealed public java.lang.String getWSDLLocation()
public void setUserRequestHttpHeaderParams(java.util.Map<java.lang.String,java.lang.String> mUserHttpHeaderParams)
public java.util.Map<java.lang.String,java.lang.String> getUserRequestHttpHeaderParams()