public class OperationBinding extends DataClass
DataSource.operationBindings
.factoryCreated, factoryProperties
Constructor and Description |
---|
OperationBinding() |
OperationBinding(DSOperationType operationType,
java.lang.String dataURL) |
OperationBinding(com.google.gwt.core.client.JavaScriptObject jsObj) |
Modifier and Type | Method and Description |
---|---|
java.lang.Boolean |
getAllowAdvancedCriteria()
This property indicates whether this operation supports AdvancedCriteria.
|
java.lang.Boolean |
getArrayCriteriaForceExact()
Operation-level override for the DataSource-level
arrayCriteriaForceExact flag. |
java.lang.String |
getBeanClassName()
A per-operationBinding setting for beanClassName, otherwise also settable at the top-level DataSource configuration.
|
java.lang.String |
getCallbackParam()
Applies only to dataFormat: "json".
|
DSDataFormat |
getDataFormat()
Format for response data for this operation.
|
DSProtocol |
getDataProtocol()
Controls the format in which inputs are sent to the dataURL.
|
RPCTransport |
getDataTransport()
Transport to use for this operation.
|
java.lang.String |
getDataURL()
URL to contact to fulfill DSRequests for this operationBinding.
|
java.util.Map |
getDefaultParams()
HTTP parameters that should be submitted with every DSRequest.
|
java.lang.String |
getDescription()
An optional description of the operationBinding's behavior.
|
ExportFormat |
getExportAs()
The format in which the data should be exported.
|
java.lang.String[] |
getExportFields()
The list of field-names to export.
|
java.lang.String |
getExportFilename()
The name of the file to save the exported data into.
|
boolean |
getExportResults()
When set, causes the results of the DataSource Operation to be exported to a file, whose
name and format are indicated by
exportFilename and
exportAs respectively. |
java.lang.Boolean |
getInvalidateCache()
If set, every invocation of this operationBinding will invalidate the local cache, forcing a server visit to refresh the
data.
|
java.lang.String |
getLineBreakStyle()
The style of line-breaks to use in the exported output.
|
java.lang.String |
getOperationId()
Optional operationId if this DataSource supports two or more variants of one of the basic DataSource operations, for
instance, a "fetch" that uses full text search and a "fetch" that accepts per-field search criteria.
|
DSOperationType |
getOperationType()
Which operationType this operationBinding is for.
|
static OperationBinding |
getOrCreateRef(com.google.gwt.core.client.JavaScriptObject jsObj) |
java.lang.Boolean |
getPreventHTTPCaching()
Configures
DataSource.preventHTTPCaching on a
per-operationType basis. |
java.lang.String |
getRecordName()
For an XML DataSource, tagName of the elements to be used as records.
|
java.lang.String |
getRecordXPath()
For an XML or JSON DataSource, an XPath expression used to retrieve the objects that will become DataSource records.
|
DSRequest |
getRequestProperties()
Additional properties to pass through to the
DSRequest created for this operation. |
java.lang.String |
getRequiredCriterion()
A comma-separated list of field names that must be present in criteria / advancedCriteria provided by the caller.
|
DataSource |
getResponseDataSchema()
Optional schema describing how to extract DataSource records from the XML elements selected.
|
boolean |
getSpoofResponses()
For a DataSource contacting a
WSDL web service , setting
this flag means the DataSource doesn't actually attempt to contact the server but generates a sample response instead,
based on the XML Schema of the response message embedded in the WSDL. |
boolean |
getUseFlatFields()
Setting
useFlatFields on an operationBinding is equivalent to setting DSRequest.useFlatFields on all DataSource requests with the same
operationType as this operationBinding . |
java.lang.Boolean |
getUseHttpProxy()
Whether to use the
HttpProxy servlet to send requests described
by this operationBinding. |
java.lang.String |
getWsOperation()
Name of the web service operation that will be invoked in order to execute this DataSource operation.
|
XmlNamespaces |
getXmlNamespaces()
Optional object declaring namespace prefixes for use in
recordXPath and
DataSourceField.valueXPath XPath expressions. |
OperationBinding |
setAllowAdvancedCriteria(java.lang.Boolean allowAdvancedCriteria)
This property indicates whether this operation supports AdvancedCriteria.
|
OperationBinding |
setArrayCriteriaForceExact(java.lang.Boolean arrayCriteriaForceExact)
Operation-level override for the DataSource-level
arrayCriteriaForceExact flag. |
OperationBinding |
setBeanClassName(java.lang.String beanClassName)
A per-operationBinding setting for beanClassName, otherwise also settable at the top-level DataSource configuration.
|
OperationBinding |
setCallbackParam(java.lang.String callbackParam)
Applies only to dataFormat: "json".
|
OperationBinding |
setDataFormat(DSDataFormat dataFormat)
Format for response data for this operation.
|
OperationBinding |
setDataProtocol(DSProtocol dataProtocol)
Controls the format in which inputs are sent to the dataURL.
|
OperationBinding |
setDataTransport(RPCTransport dataTransport)
Transport to use for this operation.
|
OperationBinding |
setDataURL(java.lang.String dataURL)
URL to contact to fulfill DSRequests for this operationBinding.
|
OperationBinding |
setDefaultParams(java.util.Map defaultParams)
HTTP parameters that should be submitted with every DSRequest.
|
OperationBinding |
setDescription(java.lang.String description)
An optional description of the operationBinding's behavior.
|
OperationBinding |
setExportAs(ExportFormat exportAs)
The format in which the data should be exported.
|
OperationBinding |
setExportFields(java.lang.String... exportFields)
The list of field-names to export.
|
OperationBinding |
setExportFilename(java.lang.String exportFilename)
The name of the file to save the exported data into.
|
OperationBinding |
setExportResults(boolean exportResults)
When set, causes the results of the DataSource Operation to be exported to a file, whose
name and format are indicated by
exportFilename and
exportAs respectively. |
OperationBinding |
setInvalidateCache(java.lang.Boolean invalidateCache)
If set, every invocation of this operationBinding will invalidate the local cache, forcing a server visit to refresh the
data.
|
OperationBinding |
setLineBreakStyle(java.lang.String lineBreakStyle)
The style of line-breaks to use in the exported output.
|
OperationBinding |
setOperationId(java.lang.String operationId)
Optional operationId if this DataSource supports two or more variants of one of the basic DataSource operations, for
instance, a "fetch" that uses full text search and a "fetch" that accepts per-field search criteria.
|
OperationBinding |
setOperationType(DSOperationType operationType)
Which operationType this operationBinding is for.
|
OperationBinding |
setPreventHTTPCaching(java.lang.Boolean preventHTTPCaching)
Configures
DataSource.preventHTTPCaching on a
per-operationType basis. |
OperationBinding |
setRecordName(java.lang.String recordName)
For an XML DataSource, tagName of the elements to be used as records.
|
OperationBinding |
setRecordXPath(java.lang.String recordXPath)
For an XML or JSON DataSource, an XPath expression used to retrieve the objects that will become DataSource records.
|
OperationBinding |
setRequestProperties(DSRequest requestProperties)
Additional properties to pass through to the
DSRequest created for this operation. |
OperationBinding |
setRequiredCriterion(java.lang.String requiredCriterion)
A comma-separated list of field names that must be present in criteria / advancedCriteria provided by the caller.
|
OperationBinding |
setResponseDataSchema(DataSource responseDataSchema)
Optional schema describing how to extract DataSource records from the XML elements selected.
|
OperationBinding |
setSpoofResponses(boolean spoofResponses)
For a DataSource contacting a
WSDL web service , setting
this flag means the DataSource doesn't actually attempt to contact the server but generates a sample response instead,
based on the XML Schema of the response message embedded in the WSDL. |
OperationBinding |
setUseFlatFields(boolean useFlatFields)
Setting
useFlatFields on an operationBinding is equivalent to setting DSRequest.useFlatFields on all DataSource requests with the same
operationType as this operationBinding . |
OperationBinding |
setUseHttpProxy(java.lang.Boolean useHttpProxy)
Whether to use the
HttpProxy servlet to send requests described
by this operationBinding. |
OperationBinding |
setWsOperation(java.lang.String wsOperation)
Name of the web service operation that will be invoked in order to execute this DataSource operation.
|
OperationBinding |
setXmlNamespaces(XmlNamespaces xmlNamespaces)
Optional object declaring namespace prefixes for use in
recordXPath and
DataSourceField.valueXPath XPath expressions. |
applyFactoryProperties, doAddHandler, fireEvent, getAttribute, getAttributeAsBoolean, getAttributeAsBoolean, getAttributeAsDate, getAttributeAsDouble, getAttributeAsDoubleArray, getAttributeAsElement, getAttributeAsFloat, getAttributeAsInt, getAttributeAsIntArray, getAttributeAsJavaScriptObject, getAttributeAsLong, getAttributeAsMap, getAttributeAsObject, getAttributeAsRecord, getAttributeAsString, getAttributeAsStringArray, getAttributes, getHandlerCount, isFactoryCreated, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttributeAsJavaObject, setFactoryCreated
public OperationBinding()
public OperationBinding(com.google.gwt.core.client.JavaScriptObject jsObj)
public OperationBinding(DSOperationType operationType, java.lang.String dataURL)
public static OperationBinding getOrCreateRef(com.google.gwt.core.client.JavaScriptObject jsObj)
public OperationBinding setAllowAdvancedCriteria(java.lang.Boolean allowAdvancedCriteria)
DataSource.allowAdvancedCriteria
for this operation only.
See DataSource.supportsAdvancedCriteria()
for
further information. NOTE: If you specify this property in a DataSource descriptor (.ds.xml
file), it is enforced on the server. This means that if you run a request containing AdvancedCriteria against an
OperationBinding that advertises itself as allowAdvancedCriteria:false
, it will be rejected.
Note : This is an advanced setting
allowAdvancedCriteria
- New allowAdvancedCriteria value. Default value is nullOperationBinding
instance, for chaining setter callsDataSource.setAllowAdvancedCriteria(java.lang.Boolean)
public java.lang.Boolean getAllowAdvancedCriteria()
DataSource.allowAdvancedCriteria
for this operation only.
See DataSource.supportsAdvancedCriteria()
for
further information. NOTE: If you specify this property in a DataSource descriptor (.ds.xml
file), it is enforced on the server. This means that if you run a request containing AdvancedCriteria against an
OperationBinding that advertises itself as allowAdvancedCriteria:false
, it will be rejected.
DataSource.getAllowAdvancedCriteria()
public OperationBinding setArrayCriteriaForceExact(java.lang.Boolean arrayCriteriaForceExact)
arrayCriteriaForceExact
flag. See the documentation for that flag for details.arrayCriteriaForceExact
- New arrayCriteriaForceExact value. Default value is nullOperationBinding
instance, for chaining setter callsServer DataSource Integration
public java.lang.Boolean getArrayCriteriaForceExact()
arrayCriteriaForceExact
flag. See the documentation for that flag for details.Server DataSource Integration
public OperationBinding setBeanClassName(java.lang.String beanClassName)
beanClassName
- New beanClassName value. Default value is nullOperationBinding
instance, for chaining setter callsDataSource.beanClassName
,
Client-side Data Integration
public java.lang.String getBeanClassName()
DataSource.beanClassName
,
Client-side Data Integration
public OperationBinding setCallbackParam(java.lang.String callbackParam)
Typically set once for the DataSource as a whole via
DataSource.callbackParam
.
callbackParam
- New callbackParam value. Default value is "callback"OperationBinding
instance, for chaining setter callsDataSource.setCallbackParam(java.lang.String)
,
Client-side Data Integration
public java.lang.String getCallbackParam()
Typically set once for the DataSource as a whole via
DataSource.callbackParam
.
DataSource.getCallbackParam()
,
Client-side Data Integration
public OperationBinding setDataFormat(DSDataFormat dataFormat)
Typically set once for the DataSource as a whole via DataSource.dataFormat
.
dataFormat
- New dataFormat value. Default value is "iscServer"OperationBinding
instance, for chaining setter callsClient-side Data Integration
public DSDataFormat getDataFormat()
Typically set once for the DataSource as a whole via DataSource.dataFormat
.
Client-side Data Integration
public OperationBinding setDataProtocol(DSProtocol dataProtocol)
When a DataSource operation such as fetchData() is
invoked on this DataSource or a component bound to this DataSource, the data passed to the operation, if any, will be
sent to the dataURL
. The dataProtocol
property controls the format in which the data is sent:
SOAP message, HTTP GET or POST of parameters, etc.
The dataProtocol
property need not be set for a
DataSource with a WebService ( DataSource.serviceNamespace
is set), in this case, SOAP messaging is used by default.
Developers may completely
bypass the Smart GWT comm system by setting dataProtocol to "clientCustom"
. In this case Smart GWT will not
attempt to send any data to the server after calling DataSource.transformRequest()
. Instead the developer is expected to implement transformRequest()
such that
it performs the necessary data action outside of Smart GWT, and then calls DataSource.processResponse()
, passing in the DSRequest.requestId
and an appropriate set of DSResponse properties to
indicate the result of the action.
NOTE: when dataFormat
is "iscServer", dataProtocol
is not consulted. Instead, Smart GWT uses a proprietary wire
format to communicate with the Smart GWT server, and the server-side DSRequest and DSResponse objects should be used to
access request data and form responses.
dataProtocol
- New dataProtocol value. Default value is "getParams"OperationBinding
instance, for chaining setter callsDSProtocol
,
Client-side Data Integration
public DSProtocol getDataProtocol()
When a DataSource operation such as fetchData() is
invoked on this DataSource or a component bound to this DataSource, the data passed to the operation, if any, will be
sent to the dataURL
. The dataProtocol
property controls the format in which the data is sent:
SOAP message, HTTP GET or POST of parameters, etc.
The dataProtocol
property need not be set for a
DataSource with a WebService ( DataSource.serviceNamespace
is set), in this case, SOAP messaging is used by default.
Developers may completely
bypass the Smart GWT comm system by setting dataProtocol to "clientCustom"
. In this case Smart GWT will not
attempt to send any data to the server after calling DataSource.transformRequest()
. Instead the developer is expected to implement transformRequest()
such that
it performs the necessary data action outside of Smart GWT, and then calls DataSource.processResponse()
, passing in the DSRequest.requestId
and an appropriate set of DSResponse properties to
indicate the result of the action.
NOTE: when dataFormat
is "iscServer", dataProtocol
is not consulted. Instead, Smart GWT uses a proprietary wire
format to communicate with the Smart GWT server, and the server-side DSRequest and DSResponse objects should be used to
access request data and form responses.
DSProtocol
,
Client-side Data Integration
public OperationBinding setDataTransport(RPCTransport dataTransport)
DataSource.dataTransport
, which in turn defaults to defaultTransport
. This would typically only be set to enable "scriptInclude" transport for contacting JSON
web services hosted on servers other than the origin server.
When using the "scriptInclude" transport, be sure to set DataSource.callbackParam
or callbackParam
to match
the name of the query parameter name expected by your JSON service provider.
dataTransport
- New dataTransport value. Default value is RPCManager.defaultTransportOperationBinding
instance, for chaining setter callsRPCTransport
,
DataSource.setCallbackParam(java.lang.String)
,
Client-side Data Integration
public RPCTransport getDataTransport()
DataSource.dataTransport
, which in turn defaults to defaultTransport
. This would typically only be set to enable "scriptInclude" transport for contacting JSON
web services hosted on servers other than the origin server.
When using the "scriptInclude" transport, be sure to set DataSource.callbackParam
or callbackParam
to match
the name of the query parameter name expected by your JSON service provider.
RPCTransport
,
DataSource.getCallbackParam()
,
Client-side Data Integration
public OperationBinding setDataURL(java.lang.String dataURL)
dataURL
is typically set as
DataSource.dataURL
rather than on each individual operationBinding.
dataURL
can be
omitted for a DataSource using a Web Service (DataSource.serviceNamespace
is set).
dataURL
- New dataURL value. Default value is nullOperationBinding
instance, for chaining setter callsURL
,
Client-side Data Integration
public java.lang.String getDataURL()
dataURL
is typically set as
DataSource.dataURL
rather than on each individual operationBinding.
dataURL
can be
omitted for a DataSource using a Web Service (DataSource.serviceNamespace
is set).
URL
,
Client-side Data Integration
public OperationBinding setDefaultParams(java.util.Map defaultParams)
Useful for authenticated services that require a sessionId with every request.
Can be set for all operations of a given DataSource as DataSource.defaultParams.
Note : This is an advanced setting
defaultParams
- New defaultParams value. Default value is nullOperationBinding
instance, for chaining setter callsClient-side Data Integration
public java.util.Map getDefaultParams()
Useful for authenticated services that require a sessionId with every request.
Can be set for all operations of a given DataSource as DataSource.defaultParams.
Client-side Data Integration
public OperationBinding setDescription(java.lang.String description)
OpenAPI
specification
generated by the framework. Markdown is a commonly used syntax, but you may also embed HTML content in a
CDATA tag.description
- New description value. Default value is nullOperationBinding
instance, for chaining setter callspublic java.lang.String getDescription()
OpenAPI
specification
generated by the framework. Markdown is a commonly used syntax, but you may also embed HTML content in a
CDATA tag.public OperationBinding setExportAs(ExportFormat exportAs)
ExportFormat
for more information.exportAs
- New exportAs value. Default value is "csv"OperationBinding
instance, for chaining setter callspublic ExportFormat getExportAs()
ExportFormat
for more information.public OperationBinding setExportFields(java.lang.String... exportFields)
If exportFields is not provided, the exported output includes all visible fields from the DataSource (field.hidden=false), sorted in the order they're defined.
exportFields
- New exportFields value. Default value is nullOperationBinding
instance, for chaining setter callspublic java.lang.String[] getExportFields()
If exportFields is not provided, the exported output includes all visible fields from the DataSource (field.hidden=false), sorted in the order they're defined.
public OperationBinding setExportFilename(java.lang.String exportFilename)
exportFilename
- New exportFilename value. Default value is nullOperationBinding
instance, for chaining setter callspublic java.lang.String getExportFilename()
public OperationBinding setExportResults(boolean exportResults)
exportFilename
and
exportAs
respectively. When no exportFilename is
provided, the
default is Results and the default value of exportAs is csv. Once the Operation
completes, DSRequest.exportDisplay
specifies whether the
exported data will be downloaded to the file-system or displayed in a new window. The
default value of exportDisplay is "download" which displays the Save As dialog. See
ExportDisplay
for more information.
The export field-list can also be configured, see DSRequest.exportFields
.
You can also configure the style of line-breaks to use when generating the output. See
LineBreakStyle
for more information.
As well as setting this and other properties on the OperationBinding
, Exports can be
initiated in two other ways. You can set properties on the dsRequest by passing
requestProperties into DataSource.exportData()
. Note that
this method does
not support exporting to JSON format (see
this post for more detail).
Additionally, custom server code may set export-related properties on the
DSResponse
.
Format Examples
XML format
<List> <Object> <id>10101</id> <displayName>Record 10101</displayName> </Object> </List>JSON Format
[ { id: 10101, displayName: "Record 10101" } ]CSV Format
id,displayName 10101,"Record 10101"
exportResults
- New exportResults value. Default value is falseOperationBinding
instance, for chaining setter callspublic boolean getExportResults()
exportFilename
and
exportAs
respectively. When no exportFilename is
provided, the
default is Results and the default value of exportAs is csv. Once the Operation
completes, DSRequest.exportDisplay
specifies whether the
exported data will be downloaded to the file-system or displayed in a new window. The
default value of exportDisplay is "download" which displays the Save As dialog. See
ExportDisplay
for more information.
The export field-list can also be configured, see DSRequest.exportFields
.
You can also configure the style of line-breaks to use when generating the output. See
LineBreakStyle
for more information.
As well as setting this and other properties on the OperationBinding
, Exports can be
initiated in two other ways. You can set properties on the dsRequest by passing
requestProperties into DataSource.exportData()
. Note that
this method does
not support exporting to JSON format (see
this post for more detail).
Additionally, custom server code may set export-related properties on the
DSResponse
.
Format Examples
XML format
<List> <Object> <id>10101</id> <displayName>Record 10101</displayName> </Object> </List>JSON Format
[ { id: 10101, displayName: "Record 10101" } ]CSV Format
id,displayName 10101,"Record 10101"
public OperationBinding setInvalidateCache(java.lang.Boolean invalidateCache)
invalidateCache
- New invalidateCache value. Default value is nullOperationBinding
instance, for chaining setter callspublic java.lang.Boolean getInvalidateCache()
public OperationBinding setLineBreakStyle(java.lang.String lineBreakStyle)
LineBreakStyle
for more
information.lineBreakStyle
- New lineBreakStyle value. Default value is nullOperationBinding
instance, for chaining setter callspublic java.lang.String getLineBreakStyle()
LineBreakStyle
for more
information.public OperationBinding setOperationId(java.lang.String operationId)
DSRequest.operationId
for usage.operationId
- New operationId value. Default value is nullOperationBinding
instance, for chaining setter callsClient-side Data Integration
public java.lang.String getOperationId()
DSRequest.operationId
for usage.Client-side Data Integration
public OperationBinding setOperationType(DSOperationType operationType)
operationType
- New operationType value. Default value is nullOperationBinding
instance, for chaining setter callsClient-side Data Integration
public DSOperationType getOperationType()
Client-side Data Integration
public OperationBinding setPreventHTTPCaching(java.lang.Boolean preventHTTPCaching)
DataSource.preventHTTPCaching
on a
per-operationType basis.preventHTTPCaching
- New preventHTTPCaching value. Default value is nullOperationBinding
instance, for chaining setter callspublic java.lang.Boolean getPreventHTTPCaching()
DataSource.preventHTTPCaching
on a
per-operationType basis.public OperationBinding setRecordName(java.lang.String recordName)
This is a simple alternative to recordXPath
when the elements to be used as records all share
a tagName.
When a DataSource has a WebService, recordName
can also be set to the name of any
complexType
declared within the WebService's WSDL file.
recordName
- New recordName value. Default value is nullOperationBinding
instance, for chaining setter callsClient-side Data Integration
public java.lang.String getRecordName()
This is a simple alternative to recordXPath
when the elements to be used as records all share
a tagName.
When a DataSource has a WebService, recordName
can also be set to the name of any
complexType
declared within the WebService's WSDL file.
Client-side Data Integration
public OperationBinding setRecordXPath(java.lang.String recordXPath)
For example, an "ItemSearch" web service might return a "Results" structure containing metadata along with the set of Items that one might want to display in a grid. An XPath expression like "/Results/Items" could be used to retrieve just the Items, which would then become DataSource records.
For a JSON web service, the recordXPath
is
applied to the returned JSON data via XMLTools.selectObjects()
.
Only limited XPath syntax is allowed; see selectObjects()
for
details.
For processing XML results, see xmlNamespaces
for information on the namespaces that are available in this XPath expression. If you are contacting a
WSDL web service, note that recordName
is an alternative
way to specify which records should be selected by their tagName or type, and this is usually simpler.
To learn about XPath, try the following search: http://www.google.com/search?q=xpath+tutorial
recordXPath
- New recordXPath value. Default value is nullOperationBinding
instance, for chaining setter callsXPathExpression
,
Client-side Data Integration
public java.lang.String getRecordXPath()
For example, an "ItemSearch" web service might return a "Results" structure containing metadata along with the set of Items that one might want to display in a grid. An XPath expression like "/Results/Items" could be used to retrieve just the Items, which would then become DataSource records.
For a JSON web service, the recordXPath
is
applied to the returned JSON data via XMLTools.selectObjects()
.
Only limited XPath syntax is allowed; see selectObjects()
for
details.
For processing XML results, see xmlNamespaces
for information on the namespaces that are available in this XPath expression. If you are contacting a
WSDL web service, note that recordName
is an alternative
way to specify which records should be selected by their tagName or type, and this is usually simpler.
To learn about XPath, try the following search: http://www.google.com/search?q=xpath+tutorial
XPathExpression
,
Client-side Data Integration
public OperationBinding setRequestProperties(DSRequest requestProperties)
DSRequest
created for this operation. Note
that these will be cumulative with and will override on a per-property basis any properties set via DataSource.requestProperties
. These properties are applied
before DataSource.transformRequest()
is called.
requestProperties
- New requestProperties value. Default value is nullOperationBinding
instance, for chaining setter callsDSRequest
,
DataSource.setRequestProperties(com.smartgwt.client.data.DSRequest)
,
Server DataSource Integration
public DSRequest getRequestProperties()
DSRequest
created for this operation. Note
that these will be cumulative with and will override on a per-property basis any properties set via DataSource.requestProperties
. These properties are applied
before DataSource.transformRequest()
is called.
DSRequest
,
DataSource.getRequestProperties()
,
Server DataSource Integration
public OperationBinding setRequiredCriterion(java.lang.String requiredCriterion)
STATUS_CRITERIA_REQUIRED_ERROR
from the server.requiredCriterion
- New requiredCriterion value. Default value is nullOperationBinding
instance, for chaining setter callsClient-side Data Integration
,
Required Criteria Examplepublic java.lang.String getRequiredCriterion()
STATUS_CRITERIA_REQUIRED_ERROR
from the server.Client-side Data Integration
,
Required Criteria Examplepublic OperationBinding setResponseDataSchema(DataSource responseDataSchema)
Once a set of XML
elements have been selected via recordXPath
or recordName
, those elements are normally
transformed to JavaScript objects using the fields
of the DataSource that owns the operationBinding. A
responseDataSchema
can be specified instead if the XML differs in some way between different DataSource
operations, such that different values for field.valueXPath
may be necessary to extract the same DataSource record from slightly different XML structures.
Note : This is an advanced setting
responseDataSchema
- New responseDataSchema value. Default value is nullOperationBinding
instance, for chaining setter callsClient-side Data Integration
public DataSource getResponseDataSchema()
Once a set of XML
elements have been selected via recordXPath
or recordName
, those elements are normally
transformed to JavaScript objects using the fields
of the DataSource that owns the operationBinding. A
responseDataSchema
can be specified instead if the XML differs in some way between different DataSource
operations, such that different values for field.valueXPath
may be necessary to extract the same DataSource record from slightly different XML structures.
Client-side Data Integration
public OperationBinding setSpoofResponses(boolean spoofResponses)
WSDL web service
, setting
this flag means the DataSource doesn't actually attempt to contact the server but generates a sample response instead,
based on the XML Schema of the response message embedded in the WSDL. The spoofed response will include all complexType elements and will fill in appropriate values by type for all simpleType elements, although the spoofed data will not conform to all xs:restriction declarations (eg xs:pattern).
Note that if your WSDL does not fully describe
the response format (some WSDL services just have a placeholder <xs:any> element), Smart GWT can only produce a
partial response. To use a hand-generated sample response, just save an XML file to disk and use the dataURL
setting to point to it.
spoofResponses
- New spoofResponses value. Default value is falseOperationBinding
instance, for chaining setter callsClient-side Data Integration
public boolean getSpoofResponses()
WSDL web service
, setting
this flag means the DataSource doesn't actually attempt to contact the server but generates a sample response instead,
based on the XML Schema of the response message embedded in the WSDL. The spoofed response will include all complexType elements and will fill in appropriate values by type for all simpleType elements, although the spoofed data will not conform to all xs:restriction declarations (eg xs:pattern).
Note that if your WSDL does not fully describe
the response format (some WSDL services just have a placeholder <xs:any> element), Smart GWT can only produce a
partial response. To use a hand-generated sample response, just save an XML file to disk and use the dataURL
setting to point to it.
Client-side Data Integration
public OperationBinding setUseFlatFields(boolean useFlatFields)
useFlatFields
on an operationBinding is equivalent to setting DSRequest.useFlatFields
on all DataSource requests with the same
operationType
as this operationBinding
.
Typical usage is to combine operationBinding.useFlatFields with searchForm.useFlatFields
, with the SearchForm
bound to the input
message
of the web service operation set as wsOperation
. This allows gratuitous nesting to be consistently bypassed in both the user presentation and in the
actual XML messaging.
Note that useFlatFields
is not generally recommended for use with input messages
where multiple simple type fields exist with the same name, however if used in this way, the first field to use a given
name wins. "first" means the first field encountered in a depth first search. "wins" means only the first field will
be available in data binding, and only the first field will be populated in the generated XML message.
useFlatFields
- New useFlatFields value. Default value is falseOperationBinding
instance, for chaining setter callsClient-side Data Integration
public boolean getUseFlatFields()
useFlatFields
on an operationBinding is equivalent to setting DSRequest.useFlatFields
on all DataSource requests with the same
operationType
as this operationBinding
.
Typical usage is to combine operationBinding.useFlatFields with searchForm.useFlatFields
, with the SearchForm
bound to the input
message
of the web service operation set as wsOperation
. This allows gratuitous nesting to be consistently bypassed in both the user presentation and in the
actual XML messaging.
Note that useFlatFields
is not generally recommended for use with input messages
where multiple simple type fields exist with the same name, however if used in this way, the first field to use a given
name wins. "first" means the first field encountered in a depth first search. "wins" means only the first field will
be available in data binding, and only the first field will be populated in the generated XML message.
Client-side Data Integration
public OperationBinding setUseHttpProxy(java.lang.Boolean useHttpProxy)
HttpProxy
servlet to send requests described
by this operationBinding. If unset, automatically detects whether using the HttpProxy is necessary based on the
same-origin policy. Valid only with dataProtocol
settings other than ISCServer.
useHttpProxy
- New useHttpProxy value. Default value is nullOperationBinding
instance, for chaining setter callsClient-side Data Integration
public java.lang.Boolean getUseHttpProxy()
HttpProxy
servlet to send requests described
by this operationBinding. If unset, automatically detects whether using the HttpProxy is necessary based on the
same-origin policy. Valid only with dataProtocol
settings other than ISCServer.
Client-side Data Integration
public OperationBinding setWsOperation(java.lang.String wsOperation)
Valid only for
a DataSource that has a WebService (DataSource.serviceNamespace
is set). Otherwise, use dataURL
.
Setting wsOperation
means that DSRequest.data
will be serialized as the request message for the specified web service operation, with namespacing and
soap encoding handled automatically. See DataSource.transformRequest()
for how to customize what data is sent to the server.
wsOperation
- New wsOperation value. Default value is nullOperationBinding
instance, for chaining setter callsClient-side Data Integration
public java.lang.String getWsOperation()
Valid only for
a DataSource that has a WebService (DataSource.serviceNamespace
is set). Otherwise, use dataURL
.
Setting wsOperation
means that DSRequest.data
will be serialized as the request message for the specified web service operation, with namespacing and
soap encoding handled automatically. See DataSource.transformRequest()
for how to customize what data is sent to the server.
Client-side Data Integration
public OperationBinding setXmlNamespaces(XmlNamespaces xmlNamespaces)
recordXPath
and
DataSourceField.valueXPath
XPath expressions.
xmlNamespaces
should be specified as a mapping from namespace prefix to
namespace URI, for example:
xmlNamespaces : { az : "http://webservices.amazon.com/AWSECommerceService/2005-03-23" }By default, all namespaces declared on the document element (outermost element of the response) are made available with the prefix used in the document itself.
Then, for non-WSDL-described XML results, if there is a default namespace on the document element, it is made available with the special prefix "default".
For results of WSDL-described operations, the prefix "service" means the service namespace, that is, the "targetNamespace" on the <definitions> element from the WSDL file. The prefix "schema" means the namespace of the outermost element in the output message for the current operation. "default" will be the schema namespace if there is one, otherwise the service namespace.
For basic information on XML Namespaces and their use in XPath, try the following search: http://www.google.com/search?q=XPath+xml+namespaces
xmlNamespaces
- New xmlNamespaces value. Default value is nullOperationBinding
instance, for chaining setter callsClient-side Data Integration
,
Yahoo! XML Services Examplepublic XmlNamespaces getXmlNamespaces()
recordXPath
and
DataSourceField.valueXPath
XPath expressions.
xmlNamespaces
should be specified as a mapping from namespace prefix to
namespace URI, for example:
xmlNamespaces : { az : "http://webservices.amazon.com/AWSECommerceService/2005-03-23" }By default, all namespaces declared on the document element (outermost element of the response) are made available with the prefix used in the document itself.
Then, for non-WSDL-described XML results, if there is a default namespace on the document element, it is made available with the special prefix "default".
For results of WSDL-described operations, the prefix "service" means the service namespace, that is, the "targetNamespace" on the <definitions> element from the WSDL file. The prefix "schema" means the namespace of the outermost element in the output message for the current operation. "default" will be the schema namespace if there is one, otherwise the service namespace.
For basic information on XML Namespaces and their use in XPath, try the following search: http://www.google.com/search?q=XPath+xml+namespaces
Client-side Data Integration
,
Yahoo! XML Services Example