Class OperationBinding

All Implemented Interfaces:
HasHandlers

public class OperationBinding extends DataClass
An operationBinding tells a DataSource how to execute one of the basic DS operations: fetch, add, update, remove. See DataSource.operationBindings.
  • Constructor Details

    • OperationBinding

      public OperationBinding()
    • OperationBinding

      public OperationBinding(JavaScriptObject jsObj)
    • OperationBinding

      public OperationBinding(DSOperationType operationType, String dataURL)
  • Method Details

    • getOrCreateRef

      public static OperationBinding getOrCreateRef(JavaScriptObject jsObj)
    • setAllowAdvancedCriteria

      public OperationBinding setAllowAdvancedCriteria(Boolean allowAdvancedCriteria)
      This property indicates whether this operation supports AdvancedCriteria. This setting overrides 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

      Parameters:
      allowAdvancedCriteria - New allowAdvancedCriteria value. Default value is null
      Returns:
      OperationBinding instance, for chaining setter calls
      See Also:
    • getAllowAdvancedCriteria

      public Boolean getAllowAdvancedCriteria()
      This property indicates whether this operation supports AdvancedCriteria. This setting overrides 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.

      Returns:
      Current allowAdvancedCriteria value. Default value is null
      See Also:
    • setArrayCriteriaForceExact

      public OperationBinding setArrayCriteriaForceExact(Boolean arrayCriteriaForceExact)
      Operation-level override for the DataSource-level arrayCriteriaForceExact flag. See the documentation for that flag for details.
      Parameters:
      arrayCriteriaForceExact - New arrayCriteriaForceExact value. Default value is null
      Returns:
      OperationBinding instance, for chaining setter calls
      See Also:
    • getArrayCriteriaForceExact

      public Boolean getArrayCriteriaForceExact()
      Operation-level override for the DataSource-level arrayCriteriaForceExact flag. See the documentation for that flag for details.
      Returns:
      Current arrayCriteriaForceExact value. Default value is null
      See Also:
    • setBeanClassName

      public OperationBinding setBeanClassName(String beanClassName)
      A per-operationBinding setting for beanClassName, otherwise also settable at the top-level DataSource configuration.
      Parameters:
      beanClassName - New beanClassName value. Default value is null
      Returns:
      OperationBinding instance, for chaining setter calls
      See Also:
    • getBeanClassName

      public String getBeanClassName()
      A per-operationBinding setting for beanClassName, otherwise also settable at the top-level DataSource configuration.
      Returns:
      Current beanClassName value. Default value is null
      See Also:
    • setCallbackParam

      public OperationBinding setCallbackParam(String callbackParam)
      Applies only to dataFormat: "json". Specifies the name of the query parameter that tells your JSON service what function to call as part of the response for this operation.

      Typically set once for the DataSource as a whole via DataSource.callbackParam.

      Parameters:
      callbackParam - New callbackParam value. Default value is "callback"
      Returns:
      OperationBinding instance, for chaining setter calls
      See Also:
    • getCallbackParam

      public String getCallbackParam()
      Applies only to dataFormat: "json". Specifies the name of the query parameter that tells your JSON service what function to call as part of the response for this operation.

      Typically set once for the DataSource as a whole via DataSource.callbackParam.

      Returns:
      Current callbackParam value. Default value is "callback"
      See Also:
    • setDataFormat

      public OperationBinding setDataFormat(DSDataFormat dataFormat)
      Format for response data for this operation.

      Typically set once for the DataSource as a whole via DataSource.dataFormat.

      Parameters:
      dataFormat - New dataFormat value. Default value is "iscServer"
      Returns:
      OperationBinding instance, for chaining setter calls
      See Also:
    • getDataFormat

      public DSDataFormat getDataFormat()
      Format for response data for this operation.

      Typically set once for the DataSource as a whole via DataSource.dataFormat.

      Returns:
      Current dataFormat value. Default value is "iscServer"
      See Also:
    • setDataProtocol

      public OperationBinding setDataProtocol(DSProtocol dataProtocol)
      Controls the format in which inputs are sent to the dataURL.

      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.

      Parameters:
      dataProtocol - New dataProtocol value. Default value is "getParams"
      Returns:
      OperationBinding instance, for chaining setter calls
      See Also:
    • getDataProtocol

      public DSProtocol getDataProtocol()
      Controls the format in which inputs are sent to the dataURL.

      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.

      Returns:
      Current dataProtocol value. Default value is "getParams"
      See Also:
    • setDataTransport

      public OperationBinding setDataTransport(RPCTransport dataTransport)
      Transport to use for this operation. Defaults to 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.

      Parameters:
      dataTransport - New dataTransport value. Default value is RPCManager.defaultTransport
      Returns:
      OperationBinding instance, for chaining setter calls
      See Also:
    • getDataTransport

      public RPCTransport getDataTransport()
      Transport to use for this operation. Defaults to 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.

      Returns:
      Current dataTransport value. Default value is RPCManager.defaultTransport
      See Also:
    • setDataURL

      public OperationBinding setDataURL(String dataURL)
      URL to contact to fulfill DSRequests for this operationBinding.

      dataURL is typically set as DataSource.dataURL rather than on each individual operationBinding. However, when using dataURL to configure the server side of a RestConnector, it is common to set dataURL at the operationBinding level, as described in the DataSource-level dataURL documentation.

      dataURL can be omitted for a DataSource using a Web Service (DataSource.serviceNamespace is set).

      Parameters:
      dataURL - New dataURL value. Default value is null
      Returns:
      OperationBinding instance, for chaining setter calls
      See Also:
    • getDataURL

      public String getDataURL()
      URL to contact to fulfill DSRequests for this operationBinding.

      dataURL is typically set as DataSource.dataURL rather than on each individual operationBinding. However, when using dataURL to configure the server side of a RestConnector, it is common to set dataURL at the operationBinding level, as described in the DataSource-level dataURL documentation.

      dataURL can be omitted for a DataSource using a Web Service (DataSource.serviceNamespace is set).

      Returns:
      Current dataURL value. Default value is null
      See Also:
    • setDefaultParams

      public OperationBinding setDefaultParams(Map defaultParams)
      HTTP parameters that should be submitted with every DSRequest.

      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

      Parameters:
      defaultParams - New defaultParams value. Default value is null
      Returns:
      OperationBinding instance, for chaining setter calls
      See Also:
    • getDefaultParams

      public Map getDefaultParams()
      HTTP parameters that should be submitted with every DSRequest.

      Useful for authenticated services that require a sessionId with every request.

      Can be set for all operations of a given DataSource as DataSource.defaultParams.

      Returns:
      Current defaultParams value. Default value is null
      See Also:
    • setDescription

      public OperationBinding setDescription(String description)
      An optional description of the operationBinding's behavior. Not automatically exposed on any component, but useful for developer documentation, and as such is included on any OpenAPI specification generated by the framework. Markdown is a commonly used syntax, but you may also embed HTML content in a CDATA tag.
      Parameters:
      description - New description value. Default value is null
      Returns:
      OperationBinding instance, for chaining setter calls
    • getDescription

      public String getDescription()
      An optional description of the operationBinding's behavior. Not automatically exposed on any component, but useful for developer documentation, and as such is included on any OpenAPI specification generated by the framework. Markdown is a commonly used syntax, but you may also embed HTML content in a CDATA tag.
      Returns:
      Current description value. Default value is null
    • setExportAs

      public OperationBinding setExportAs(ExportFormat exportAs)
      The format in which the data should be exported. Default is "csv". See ExportFormat for more information.
      Parameters:
      exportAs - New exportAs value. Default value is "csv"
      Returns:
      OperationBinding instance, for chaining setter calls
    • getExportAs

      public ExportFormat getExportAs()
      The format in which the data should be exported. Default is "csv". See ExportFormat for more information.
      Returns:
      Current exportAs value. Default value is "csv"
    • setExportFields

      public OperationBinding setExportFields(String... exportFields)
      The list of field-names to export. If provided, the field-list in the exported output is limited and sorted as per the list.

      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.

      Parameters:
      exportFields - New exportFields value. Default value is null
      Returns:
      OperationBinding instance, for chaining setter calls
    • getExportFields

      public String[] getExportFields()
      The list of field-names to export. If provided, the field-list in the exported output is limited and sorted as per the list.

      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.

      Returns:
      Current exportFields value. Default value is null
    • setExportFilename

      public OperationBinding setExportFilename(String exportFilename)
      The name of the file to save the exported data into.
      Parameters:
      exportFilename - New exportFilename value. Default value is null
      Returns:
      OperationBinding instance, for chaining setter calls
    • getExportFilename

      public String getExportFilename()
      The name of the file to save the exported data into.
      Returns:
      Current exportFilename value. Default value is null
    • setExportResults

      public 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. 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"
        
      Parameters:
      exportResults - New exportResults value. Default value is false
      Returns:
      OperationBinding instance, for chaining setter calls
    • getExportResults

      public 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. 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"
        
      Returns:
      Current exportResults value. Default value is false
    • setInvalidateCache

      public OperationBinding setInvalidateCache(Boolean invalidateCache)
      If set, every invocation of this operationBinding will invalidate the local cache, forcing a server visit to refresh the data.
      Parameters:
      invalidateCache - New invalidateCache value. Default value is null
      Returns:
      OperationBinding instance, for chaining setter calls
    • getInvalidateCache

      public Boolean getInvalidateCache()
      If set, every invocation of this operationBinding will invalidate the local cache, forcing a server visit to refresh the data.
      Returns:
      Current invalidateCache value. Default value is null
    • setLineBreakStyle

      public OperationBinding setLineBreakStyle(String lineBreakStyle)
      The style of line-breaks to use in the exported output. See LineBreakStyle for more information.
      Parameters:
      lineBreakStyle - New lineBreakStyle value. Default value is null
      Returns:
      OperationBinding instance, for chaining setter calls
    • getLineBreakStyle

      public String getLineBreakStyle()
      The style of line-breaks to use in the exported output. See LineBreakStyle for more information.
      Returns:
      Current lineBreakStyle value. Default value is null
    • setOperationId

      public OperationBinding setOperationId(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. See DSRequest.operationId for usage.
      Parameters:
      operationId - New operationId value. Default value is null
      Returns:
      OperationBinding instance, for chaining setter calls
      See Also:
    • getOperationId

      public 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. See DSRequest.operationId for usage.
      Returns:
      Current operationId value. Default value is null
      See Also:
    • setOperationType

      public OperationBinding setOperationType(DSOperationType operationType)
      Which operationType this operationBinding is for. This property is only settable on an operationBinding, not a DataSource as a whole.
      Parameters:
      operationType - New operationType value. Default value is null
      Returns:
      OperationBinding instance, for chaining setter calls
      See Also:
    • getOperationType

      public DSOperationType getOperationType()
      Which operationType this operationBinding is for. This property is only settable on an operationBinding, not a DataSource as a whole.
      Returns:
      Current operationType value. Default value is null
      See Also:
    • setPreventHTTPCaching

      public OperationBinding setPreventHTTPCaching(Boolean preventHTTPCaching)
      Configures DataSource.preventHTTPCaching on a per-operationType basis.
      Parameters:
      preventHTTPCaching - New preventHTTPCaching value. Default value is null
      Returns:
      OperationBinding instance, for chaining setter calls
    • getPreventHTTPCaching

      public Boolean getPreventHTTPCaching()
      Configures DataSource.preventHTTPCaching on a per-operationType basis.
      Returns:
      Current preventHTTPCaching value. Default value is null
    • setRecordName

      public OperationBinding setRecordName(String recordName)
      For an XML DataSource, tagName of the elements to be used as records.

      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.

      Parameters:
      recordName - New recordName value. Default value is null
      Returns:
      OperationBinding instance, for chaining setter calls
      See Also:
    • getRecordName

      public String getRecordName()
      For an XML DataSource, tagName of the elements to be used as records.

      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.

      Returns:
      Current recordName value. Default value is null
      See Also:
    • setRecordXPath

      public OperationBinding setRecordXPath(String recordXPath)
      For an XML , JSON or RestConnector DataSource, an XPath expression used to retrieve the objects that will become DataSource records.

      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

      Parameters:
      recordXPath - New recordXPath value. Default value is null
      Returns:
      OperationBinding instance, for chaining setter calls
      See Also:
    • getRecordXPath

      public String getRecordXPath()
      For an XML , JSON or RestConnector DataSource, an XPath expression used to retrieve the objects that will become DataSource records.

      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

      Returns:
      Current recordXPath value. Default value is null
      See Also:
    • setRequestProperties

      public OperationBinding setRequestProperties(DSRequest requestProperties)
      Additional properties to pass through to the 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.

      Parameters:
      requestProperties - New requestProperties value. Default value is null
      Returns:
      OperationBinding instance, for chaining setter calls
      See Also:
    • getRequestProperties

      public DSRequest getRequestProperties()
      Additional properties to pass through to the 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.

      Returns:
      Current requestProperties value. Default value is null
      See Also:
    • setRequiredCriterion

      public OperationBinding setRequiredCriterion(String requiredCriterion)
      A comma-separated list of field names that must be present in criteria / advancedCriteria provided by the caller. Failure to provide any one of these will yield a STATUS_CRITERIA_REQUIRED_ERROR from the server.
      Parameters:
      requiredCriterion - New requiredCriterion value. Default value is null
      Returns:
      OperationBinding instance, for chaining setter calls
      See Also:
    • getRequiredCriterion

      public String getRequiredCriterion()
      A comma-separated list of field names that must be present in criteria / advancedCriteria provided by the caller. Failure to provide any one of these will yield a STATUS_CRITERIA_REQUIRED_ERROR from the server.
      Returns:
      Current requiredCriterion value. Default value is null
      See Also:
    • setResponseDataSchema

      public OperationBinding setResponseDataSchema(DataSource responseDataSchema)
      Optional schema describing how to extract DataSource records from the XML elements selected.

      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

      Parameters:
      responseDataSchema - New responseDataSchema value. Default value is null
      Returns:
      OperationBinding instance, for chaining setter calls
      See Also:
    • getResponseDataSchema

      public DataSource getResponseDataSchema()
      Optional schema describing how to extract DataSource records from the XML elements selected.

      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.

      Returns:
      Current responseDataSchema value. Default value is null
      See Also:
    • setSpoofResponses

      public 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.

      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.

      Parameters:
      spoofResponses - New spoofResponses value. Default value is false
      Returns:
      OperationBinding instance, for chaining setter calls
      See Also:
    • getSpoofResponses

      public 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.

      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.

      Returns:
      Current spoofResponses value. Default value is false
      See Also:
    • setUseFlatFields

      public 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.

      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.

      Parameters:
      useFlatFields - New useFlatFields value. Default value is false
      Returns:
      OperationBinding instance, for chaining setter calls
      See Also:
    • getUseFlatFields

      public boolean getUseFlatFields()
      Setting 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.

      Returns:
      Current useFlatFields value. Default value is false
      See Also:
    • setUseHttpProxy

      public OperationBinding setUseHttpProxy(Boolean useHttpProxy)
      Whether to use the 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.

      Parameters:
      useHttpProxy - New useHttpProxy value. Default value is null
      Returns:
      OperationBinding instance, for chaining setter calls
      See Also:
    • getUseHttpProxy

      public Boolean getUseHttpProxy()
      Whether to use the 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.

      Returns:
      Current useHttpProxy value. Default value is null
      See Also:
    • setWsOperation

      public OperationBinding setWsOperation(String wsOperation)
      Name of the web service operation that will be invoked in order to execute this DataSource operation.

      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.

      Parameters:
      wsOperation - New wsOperation value. Default value is null
      Returns:
      OperationBinding instance, for chaining setter calls
      See Also:
    • getWsOperation

      public String getWsOperation()
      Name of the web service operation that will be invoked in order to execute this DataSource operation.

      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.

      Returns:
      Current wsOperation value. Default value is null
      See Also:
    • setXmlNamespaces

      public OperationBinding setXmlNamespaces(XmlNamespaces xmlNamespaces)
      Optional object declaring namespace prefixes for use in 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

      Parameters:
      xmlNamespaces - New xmlNamespaces value. Default value is null
      Returns:
      OperationBinding instance, for chaining setter calls
      See Also:
    • getXmlNamespaces

      public XmlNamespaces getXmlNamespaces()
      Optional object declaring namespace prefixes for use in 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

      Returns:
      Current xmlNamespaces value. Default value is null
      See Also: