Package com.smartgwt.client.data

# Class WSRequest

java.lang.Object
com.smartgwt.client.core.JsObject
com.smartgwt.client.core.DataClass
com.smartgwt.client.core.RefDataClass
com.smartgwt.client.rpc.RPCRequest
com.smartgwt.client.data.WSRequest

All Implemented Interfaces:
  `HasHandlers`

public class WSRequest extends RPCRequest
A WSRequest (or "web service request") is an extended RPCRequest will additional properties application to WSDL/SOAP web services.

All properties which are legal on `RPCRequest` are legal on a WSRequest, in addition to the properties listed here.

- ## Field Summary

  ### Fields inherited from class com.smartgwt.client.core.RefDataClass

  `id`

  ### Fields inherited from class com.smartgwt.client.core.DataClass

  `factoryCreated, factoryProperties`

  ### Fields inherited from class com.smartgwt.client.core.JsObject

  `jsObj`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `WSRequest()`
  `WSRequest(JavaScriptObject jsObj)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `JavaScriptObject`
  `getData()`
  Data to be serialized to XML to form the SOAP body.
  `Map`
  `getDataAsMap()`
  `Map`
  `getHeaderData()`
  Data to be serialized to form the SOAP headers, as a map from the header part name to the data.
  `static WSRequest`
  `getOrCreateRef(JavaScriptObject jsObj)`
  `Boolean`
  `getUseFlatFields()`
  When `useFlatFields` is set for a request to be sent to a WSDL web service, when creating the input XML message to send to the web service, properties in `data` will be used as the values for XML elements of the same name, at any level of nesting.
  `String`
  `getWsOperation()`
  Name of the web service operation to invoke.
  `void`
  `setData(JavaScriptObject data)`
  Data to be serialized to XML to form the SOAP body.
  `WSRequest`
  `setData(Map data)`
  Data to be serialized to XML to form the SOAP body.
  `void`
  `setHeaderData(Map headerData)`
  Data to be serialized to form the SOAP headers, as a map from the header part name to the data.
  `void`
  `setUseFlatFields(Boolean useFlatFields)`
  When `useFlatFields` is set for a request to be sent to a WSDL web service, when creating the input XML message to send to the web service, properties in `data` will be used as the values for XML elements of the same name, at any level of nesting.
  `void`
  `setWsOperation(String wsOperation)`
  Name of the web service operation to invoke.
  `void`
  `setXmlNamespaces(XmlNamespaces xmlNamespaces)`
  Optional object declaring namespace prefixes for use in evaluating the `resultType` parameter of `WebService.callOperation(java.lang.String, java.util.Map, java.lang.String, com.smartgwt.client.data.WebServiceCallback)`, if resultType is an XPath.

  ### Methods inherited from class com.smartgwt.client.rpc.RPCRequest

  `downloadCallback, getActionURL, getAllowIE9Leak, getBypassCache, getCallbackParam, getContainsCredentials, getContentType, getDataAsString, getDownloadResult, getDownloadToNewWindow, getEvalResult, getHttpHeaders, getHttpMethod, getHttpProxyURL, getIgnoreTimeout, getIsBackgroundRequest, getMockMode, getOmitNullMapValuesInResponse, getParams, getPrompt, getPromptCursor, getPromptDelay, getPromptStyle, getReportDownloadErrorsAsDocuments, getSendNoQueue, getServerOutputAsString, getShowPrompt, getSuppressAutoDraw, getTimeout, getTransport, getUseCursorTracker, getUseHttpProxy, getUseSimpleHttp, getUseStrictJSON, getWillHandleError, getWithCredentials, isDSRequest, setActionURL, setAllowIE9Leak, setBypassCache, setCallbackParam, setContainsCredentials, setContentType, setData, setData, setDownloadResult, setDownloadToNewWindow, setEvalResult, setEvalVars, setHttpHeaders, setHttpMethod, setHttpProxyURL, setIgnoreTimeout, setIsBackgroundRequest, setMockMode, setOmitNullMapValuesInResponse, setParams, setPrompt, setPromptCursor, setPromptDelay, setPromptStyle, setReportDownloadErrorsAsDocuments, setSendNoQueue, setServerOutputAsString, setShowPrompt, setSuppressAutoDraw, setTimeout, setTransport, setUseCursorTracker, setUseHttpProxy, setUseSimpleHttp, setUseStrictJSON, setWillHandleError, setWithCredentials, xhr_onProgress`

  ### Methods inherited from class com.smartgwt.client.core.RefDataClass

  `getRef, getRef, internalSetID`

  ### Methods inherited from class com.smartgwt.client.core.DataClass

  `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`

  ### Methods inherited from class com.smartgwt.client.core.JsObject

  `equals, getJsObj, hashCode, isCreated, setJavaScriptObject, setJsObj`

  ### Methods inherited from class java.lang.Object

  `clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### WSRequest

    public WSRequest()

  - ### WSRequest

    public WSRequest(JavaScriptObject jsObj)

- ## Method Details

  - ### getOrCreateRef

    public static WSRequest getOrCreateRef(JavaScriptObject jsObj)

  - ### setWsOperation

    public void setWsOperation(String wsOperation)
    Name of the web service operation to invoke.
    Parameters:
      `wsOperation` - wsOperation Default value is null

  - ### getWsOperation

    public String getWsOperation()
    Name of the web service operation to invoke.
    Returns:
      String

  - ### setUseFlatFields

    public void setUseFlatFields(Boolean useFlatFields)
    When `useFlatFields` is set for a request to be sent to a WSDL web service, when creating the input XML message to send to the web service, properties in `data` will be used as the values for XML elements of the same name, at any level of nesting.

    `useFlatFields` allows you to ignore gratuitous XML message structure, such as extra levels of nested elements, and provides some insulation against changes in the required structure of the input message.

    For example, given this input message:

        <FindServices>      <searchFor>search text</searchFor>      <Options>          <caseSensitive>false</caseSensitive>      </Options>      <IncludeInSearch>          <serviceName>true</serviceName>          <documentation>true</documentation>          <keywords>true</keywords>      </IncludeInSearch>  </FindServices>

    If `useFlatFields` were not set, in order to fill out this message correctly, `request.data` would need to be:

        {     searchFor: "search text",     Options : {         caseSensitive: false,     },     IncludeInSearch : {         serviceName: true,         documentation : true,         keywords : true     }  }

    However if useFlatFields were set, `request.data` could be just:

        {     searchFor: "search text",     caseSensitive: false,     serviceName: true,     documentation : true,     keywords : true  }

    `useFlatFields` is often set when the input data comes from a `DynamicForm` to avoid the cumbersome and fragile process of mapping input fields to an XML structure.

    `useFlatFields` can also be set to cause all dsRequests of a particular type to `useFlatFields` automatically.

    For `DataBoundComponent`, `useFlatFields` can be set use "flattened" binding to fields of a WSDL message or XML Schema.

    Note that `useFlatFields` is not generally recommended for use with XML 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 populated in the generated XML message.

    Parameters:
      `useFlatFields` - useFlatFields Default value is null

  - ### getUseFlatFields

    public Boolean getUseFlatFields()
    When `useFlatFields` is set for a request to be sent to a WSDL web service, when creating the input XML message to send to the web service, properties in `data` will be used as the values for XML elements of the same name, at any level of nesting.

    `useFlatFields` allows you to ignore gratuitous XML message structure, such as extra levels of nested elements, and provides some insulation against changes in the required structure of the input message.

    For example, given this input message:

          <FindServices>      <searchFor>search text</searchFor>      <Options>          <caseSensitive>false</caseSensitive>      </Options>      <IncludeInSearch>          <serviceName>true</serviceName>          <documentation>true</documentation>          <keywords>true</keywords>      </IncludeInSearch>  </FindServices>

    If `useFlatFields` were not set, in order to fill out this message correctly, `request.data` would need to be:

        {     searchFor: "search text",     Options : {         caseSensitive: false,     },     IncludeInSearch : {         serviceName: true,         documentation : true,         keywords : true     }  }

    However if useFlatFields were set, `request.data` could be just:

        {     searchFor: "search text",     caseSensitive: false,     serviceName: true,     documentation : true,     keywords : true  }

    `useFlatFields` is often set when the input data comes from a `DynamicForm` to avoid the cumbersome and fragile process of mapping input fields to an XML structure.

    `useFlatFields` can also be set to cause all dsRequests of a particular type to `useFlatFields` automatically.

    For `DataBoundComponent`, `useFlatFields` can be set use "flattened" binding to fields of a WSDL message or XML Schema.

    Note that `useFlatFields` is not generally recommended for use with XML 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 populated in the generated XML message.

    Returns:
      Boolean

  - ### setHeaderData

    public void setHeaderData(Map headerData)
    Data to be serialized to form the SOAP headers, as a map from the header part name to the data. For example, given WSDL like this:

              <soap:header part="SessionHeader" message="tns:HeaderMessage"/>      <soap:header part="CallOptions" message="tns:HeaderMessage/>

    `headerData` like this might be provided:

              dsRequest.headerData =           { SessionHeader : data            CallOptions : data };

    The provided data will be serialized to XML by the `com.smartgwt.client.data.WebService#getInputHeaderSchema` via `DataSource.xmlSerialize(com.google.gwt.core.client.JavaScriptObject)`
    Parameters:
      `headerData` - headerData Default value is null

  - ### getHeaderData

    public Map getHeaderData()
    Data to be serialized to form the SOAP headers, as a map from the header part name to the data. For example, given WSDL like this:

              <soap:header part="SessionHeader" message="tns:HeaderMessage"/>      <soap:header part="CallOptions" message="tns:HeaderMessage/>

    `headerData` like this might be provided:

              dsRequest.headerData =           { SessionHeader : data            CallOptions : data };

    The provided data will be serialized to XML by the `com.smartgwt.client.data.WebService#getInputHeaderSchema` via `DataSource.xmlSerialize(com.google.gwt.core.client.JavaScriptObject)`
    Returns:
      headerData Default value is null

  - ### setData

    public void setData(JavaScriptObject data)
    Data to be serialized to XML to form the SOAP body.
    Overrides:
      `setData` in class `RPCRequest`
    Parameters:
      `data` - data Default value is null
    See Also:
      - `RPCResponse.getDataAsMap()`
      - `RPCResponse.getDataAsObject()`
      - `RPCResponse.getDataAsString()`

  - ### setData

    public WSRequest setData(Map data)
    Data to be serialized to XML to form the SOAP body.
    Overrides:
      `setData` in class `RPCRequest`
    Parameters:
      `data` - data Default value is null
    Returns:
      `WSRequest` instance, for chaining setter calls
    See Also:
      - `com.smartgwt.client.rpc.RPCResponse#setData`

  - ### getData

    public JavaScriptObject getData()
    Data to be serialized to XML to form the SOAP body.
    Overrides:
      `getData` in class `RPCRequest`
    Returns:
      the data
    See Also:
      - `RPCResponse.getDataAsMap()`
      - `RPCResponse.getDataAsObject()`
      - `RPCResponse.getDataAsString()`

  - ### getDataAsMap

    public Map getDataAsMap()

  - ### setXmlNamespaces

    public void setXmlNamespaces(XmlNamespaces xmlNamespaces)
    Optional object declaring namespace prefixes for use in evaluating the `resultType` parameter of `WebService.callOperation(java.lang.String, java.util.Map, java.lang.String, com.smartgwt.client.data.WebServiceCallback)`, if resultType is an XPath.

    Format is identical to `xmlNamespaces`, and default namespaces bindings are also identical.

    Parameters:
      `xmlNamespaces` - xmlNamespaces Default value is null