Encapsulates a client/server RPC request. You'll need to provide an instance of this class (or a constructor for it) to
the RPCManager.sendRequest() method. If you use the RPCManager.send() method, an instance of RPCRequest will be created for you.

For use only with the scriptInclude transport, this attribute
specifies the name of the URL parameter which is used to specify the callback function that
the server is expected to call by writing out JavaScript code.

For use during Relogin, this property marks this request an attempt to login,
therefore a response containing the loginRequiredMarker is a normal condition and should result in the
status code STATUS_LOGIN_INCORRECT rather than a call
to loginRequired().

If evalResult is set, setting this property to true causes
Canvas.autoDraw to be set to false for the duration of the result
evaluation - which is generally what you want if you're returning new components from the server.

For use only with the scriptInclude transport, this attribute
specifies the name of the URL parameter which is used to specify the callback function that
the server is expected to call by writing out JavaScript code.

For use during Relogin, this property marks this request an attempt to login,
therefore a response containing the loginRequiredMarker is a normal condition and should result in the
status code STATUS_LOGIN_INCORRECT rather than a call
to loginRequired().

If evalResult is set, setting this property to true causes
Canvas.autoDraw to be set to false for the duration of the result
evaluation - which is generally what you want if you're returning new components from the server.

RPCRequest

Method Detail

getOrCreateRef

setActionURL

public void setActionURL(java.lang.String actionURL)

Overrides RPCManager.actionURL for this request only. If you're using queuing, note that queues as per-URL - in other
words all RPCRequests in a queue must go to a single URL. If you attempt to send a request with an actionURL that is
different from those already in the queue, it will be sent to the server separately, ahead of the queue, and a warning
will be logged to the Developer Console.

getActionURL

public java.lang.String getActionURL()

Overrides RPCManager.actionURL for this request only. If you're using queuing, note that queues as per-URL - in other
words all RPCRequests in a queue must go to a single URL. If you attempt to send a request with an actionURL that is
different from those already in the queue, it will be sent to the server separately, ahead of the queue, and a warning
will be logged to the Developer Console.

setAllowIE9Leak

This attribute may be set to false to explicitly enable the workaround described here for this request, avoiding a potential memory leak in Internet
Explorer 9.

This workaround has a limitation in that if parsing the JSON response generates certain object types
including JavaScript Date or function objects, attempts to interact with these objects can
subsequently lead to a JavaScript error with the message "Can't execute code from a freed script".

This workaround therefore may not be suitable for all transactions or dataSources within a given application.

This
property may also be set globally within an application (via allowIE9Leak)_.

Note: This memory leak and workaround is discussed further in the online Smart GWT FAQ.

getAllowIE9Leak

This attribute may be set to false to explicitly enable the workaround described here for this request, avoiding a potential memory leak in Internet
Explorer 9.

This workaround has a limitation in that if parsing the JSON response generates certain object types
including JavaScript Date or function objects, attempts to interact with these objects can
subsequently lead to a JavaScript error with the message "Can't execute code from a freed script".

This workaround therefore may not be suitable for all transactions or dataSources within a given application.

This
property may also be set globally within an application (via allowIE9Leak)_.

Note: This memory leak and workaround is discussed further in the online Smart GWT FAQ.

Returns:

Current allowIE9Leak value. Default value is null

setBypassCache

public void setBypassCache(java.lang.Boolean bypassCache)

For xmlHttp transport + httpMethod: "GET" only, set to true to force a conditional GET request even if the browser
thinks it has a current cached response.

Note : This is an advanced setting

Parameters:

bypassCache - New bypassCache value. Default value is false

getBypassCache

public java.lang.Boolean getBypassCache()

For xmlHttp transport + httpMethod: "GET" only, set to true to force a conditional GET request even if the browser
thinks it has a current cached response.

Returns:

Current bypassCache value. Default value is false

setCallbackParam

public void setCallbackParam(java.lang.String callbackParam)

For use only with the scriptInclude transport, this attribute
specifies the name of the URL parameter which is used to specify the callback function that
the server is expected to call by writing out JavaScript code. The actual function to call
is automatically generated and differs for every request (to allow concurrency).

For example, with callbackParam set to it's default value of "callback", the
server might be contacted with a URL like:

loadData?callback=isc_scriptIncludeCallback_5

.. then the server's response should look like:

isc_scriptIncludeCallback_5({ .. data .. });

The name "isc_scriptIncludeCallback_5" is automatically generated and will differ each time
the server is contacted.

rpcRequest.callbackParam is ignored by all transport other than
scriptInclude.

Parameters:

callbackParam - New callbackParam value. Default value is "callback"

getCallbackParam

public java.lang.String getCallbackParam()

For use only with the scriptInclude transport, this attribute
specifies the name of the URL parameter which is used to specify the callback function that
the server is expected to call by writing out JavaScript code. The actual function to call
is automatically generated and differs for every request (to allow concurrency).

For example, with callbackParam set to it's default value of "callback", the
server might be contacted with a URL like:

loadData?callback=isc_scriptIncludeCallback_5

.. then the server's response should look like:

isc_scriptIncludeCallback_5({ .. data .. });

The name "isc_scriptIncludeCallback_5" is automatically generated and will differ each time
the server is contacted.

setContainsCredentials

For use during Relogin, this property marks this request an attempt to login,
therefore a response containing the loginRequiredMarker is a normal condition and should result in the
status code STATUS_LOGIN_INCORRECT rather than a call
to loginRequired().

It is not required to set
containsCredentials, however, it does typically simplify relogin logic by separating the handling of RPCs
that are login attempts from RPCs that are not.

getContainsCredentials

public java.lang.Boolean getContainsCredentials()

For use during Relogin, this property marks this request an attempt to login,
therefore a response containing the loginRequiredMarker is a normal condition and should result in the
status code STATUS_LOGIN_INCORRECT rather than a call
to loginRequired().

It is not required to set
containsCredentials, however, it does typically simplify relogin logic by separating the handling of RPCs
that are login attempts from RPCs that are not.

setData

public void setData(java.lang.String data)

This attribute specifies the payload of the RPCRequest. When using the Smart GWT server, objects sent to the server as request.data will be available on the server-side
RPCRequest object as Java Objects. This is achieved by serializing the client side data in a JSON type
format and generating Java Objects on the server from this serialized data.

If the client side
request.data is set to a Java object in your SmartGWT code it will be serialized as JSON as follows: -
Numeric client side values (int, Integer, etc) will be serialized as JavaScript numbers. - String values will be
serialized as JavaScript strings. - Date values will be serialized as JavaScript dates. - Maps or Record objects
will be serialized as JavaScript Objects. - Arrays or Lists will become JavaScript arrays Serialization of Maps
and Arrays is recursive - each entry in an Array, or attribute on a Map will also be serialized according to the above
rules. Note that you can also set request.data directly to a JavaScriptObject, and use the
JSOHelper class or SomeObject.getJSObj() to perform your own data conversions on the
client. The serialized JavaScript will then be converted back to Java on the server according to the following rules.

Here are the mapping of JavaScript types to their corresponding server object types:

JS Type

Java Type

Object: {}

Map

Array: []

List

String

String

Number

Long|Double

Boolean

Boolean

Date

java.util.Date

String

com.smartgwt.client.types.ValueEnum

Note that the order of keys/values in the Maps
created on the server is not guaranteed because JavaScript Object literals do not guarantee order.

When using JPA or
Hibernate Java value used can be affected by the Java Bean declaration. See DsRequestBeanTypes for details.

Server->client conversion follows this table as well, with
some extras. See the toJS() method on JSTranslater in the server documentation for a description of additional
behaviors.

When not communicating with the Smart GWT server, rpcRequest.data becomes simple HTTP
parameters or an HTTP request body - see useSimpleHttp for
details.

Parameters:

data - New data value. Default value is null

See Also:

com.smartgwt.client.rpc.RPCResponse#setData

setData

This attribute specifies the payload of the RPCRequest. When using the Smart GWT server, objects sent to the server as request.data will be available on the server-side
RPCRequest object as Java Objects. This is achieved by serializing the client side data in a JSON type
format and generating Java Objects on the server from this serialized data.

If the client side
request.data is set to a Java object in your SmartGWT code it will be serialized as JSON as follows: -
Numeric client side values (int, Integer, etc) will be serialized as JavaScript numbers. - String values will be
serialized as JavaScript strings. - Date values will be serialized as JavaScript dates. - Maps or Record objects
will be serialized as JavaScript Objects. - Arrays or Lists will become JavaScript arrays Serialization of Maps
and Arrays is recursive - each entry in an Array, or attribute on a Map will also be serialized according to the above
rules. Note that you can also set request.data directly to a JavaScriptObject, and use the
JSOHelper class or SomeObject.getJSObj() to perform your own data conversions on the
client. The serialized JavaScript will then be converted back to Java on the server according to the following rules.

Here are the mapping of JavaScript types to their corresponding server object types:

JS Type

Java Type

Object: {}

Map

Array: []

List

String

String

Number

Long|Double

Boolean

Boolean

Date

java.util.Date

String

com.smartgwt.client.types.ValueEnum

Note that the order of keys/values in the Maps
created on the server is not guaranteed because JavaScript Object literals do not guarantee order.

When using JPA or
Hibernate Java value used can be affected by the Java Bean declaration. See DsRequestBeanTypes for details.

Server->client conversion follows this table as well, with
some extras. See the toJS() method on JSTranslater in the server documentation for a description of additional
behaviors.

When not communicating with the Smart GWT server, rpcRequest.data becomes simple HTTP
parameters or an HTTP request body - see useSimpleHttp for
details.

Parameters:

data - New data value. Default value is null

See Also:

com.smartgwt.client.rpc.RPCResponse#setData

setData

public void setData(java.util.Map data)

This attribute specifies the payload of the RPCRequest. When using the Smart GWT server, objects sent to the server as request.data will be available on the server-side
RPCRequest object as Java Objects. This is achieved by serializing the client side data in a JSON type
format and generating Java Objects on the server from this serialized data.

If the client side
request.data is set to a Java object in your SmartGWT code it will be serialized as JSON as follows: -
Numeric client side values (int, Integer, etc) will be serialized as JavaScript numbers. - String values will be
serialized as JavaScript strings. - Date values will be serialized as JavaScript dates. - Maps or Record objects
will be serialized as JavaScript Objects. - Arrays or Lists will become JavaScript arrays Serialization of Maps
and Arrays is recursive - each entry in an Array, or attribute on a Map will also be serialized according to the above
rules. Note that you can also set request.data directly to a JavaScriptObject, and use the
JSOHelper class or SomeObject.getJSObj() to perform your own data conversions on the
client. The serialized JavaScript will then be converted back to Java on the server according to the following rules.

Here are the mapping of JavaScript types to their corresponding server object types:

JS Type

Java Type

Object: {}

Map

Array: []

List

String

String

Number

Long|Double

Boolean

Boolean

Date

java.util.Date

String

com.smartgwt.client.types.ValueEnum

Note that the order of keys/values in the Maps
created on the server is not guaranteed because JavaScript Object literals do not guarantee order.

When using JPA or
Hibernate Java value used can be affected by the Java Bean declaration. See DsRequestBeanTypes for details.

Server->client conversion follows this table as well, with
some extras. See the toJS() method on JSTranslater in the server documentation for a description of additional
behaviors.

When not communicating with the Smart GWT server, rpcRequest.data becomes simple HTTP
parameters or an HTTP request body - see useSimpleHttp for
details.

Parameters:

data - New data value. Default value is null

See Also:

com.smartgwt.client.rpc.RPCResponse#setData

setDownloadResult

public void setDownloadResult(java.lang.Boolean downloadResult)

If enabled, causes the RPCRequest to download the requested resource as a file, either showing the browser's Save
dialog or displaying the file-content in a new browser
window.

Setting this attribute to true means that no callback will be fired and implies that the request will
silently use transport: "hiddenFrame".

Note : This is an advanced setting

Parameters:

downloadResult - New downloadResult value. Default value is false

getDownloadResult

public java.lang.Boolean getDownloadResult()

If enabled, causes the RPCRequest to download the requested resource as a file, either showing the browser's Save
dialog or displaying the file-content in a new browser
window.

Setting this attribute to true means that no callback will be fired and implies that the request will
silently use transport: "hiddenFrame".

getDownloadToNewWindow

When downloadResult is true, setting this attribute to true
causes the content of the downloaded file to be displayed in a new browser window.

Returns:

Current downloadToNewWindow value. Default value is false

setEvalResult

public void setEvalResult(java.lang.Boolean evalResult)

This works similarly to serverOutputAsString except
the resulting String
is automatically evaluated as JavaScript. The result of the evaluation is then passed to
any specified callback as RPCResponse.data.

This feature can be used to dynamically load new application modules into a running
application. An RPCRequest with evalResult enabled can be used to fetch a
static .js file or JavaScript dynamically generated by the server. The returned JavaScript
can contain anything that a JavaScript file loaded at init time can contain, including new
views and new Smart GWT class definitions.

getEvalResult

public java.lang.Boolean getEvalResult()

This works similarly to serverOutputAsString except
the resulting String
is automatically evaluated as JavaScript. The result of the evaluation is then passed to
any specified callback as RPCResponse.data.

This feature can be used to dynamically load new application modules into a running
application. An RPCRequest with evalResult enabled can be used to fetch a
static .js file or JavaScript dynamically generated by the server. The returned JavaScript
can contain anything that a JavaScript file loaded at init time can contain, including new
views and new Smart GWT class definitions.

getOmitNullMapValuesInResponse

If enabled, the server omits any key/value pairs in map that have null values from the response. This can reduce the
size of the response when many fields have null values.

To enable this globally for all responses you can set
RPCManager.omitNullMapValuesInResponse in server.properties.

Returns:

Current omitNullMapValuesInResponse value. Default value is false

setParams

public void setParams(java.util.Map params)

Values to be sent as simple HTTP params, as a JavaScript Object where each property/value pair will become an HTTP
parameter name and value. These parameters are then accessible on the server, for example, using
servletRequest.getParameter(paramName) in Java Servlets.

Array-valued parameters will be submitted as multiple
instances of the same parameter, similar to an HTML form with a multi-select (?paramName=value1&paramName=value2
...), accessible as getParameterValues(paramName) in Java Servlets. Any non-atomic type, such as an Object, will be
serialized to JSON by the JSONEncoder. If this isn't desirable, serialize the data in advance so that the value
provided in rpcRequest.params is a String.

Note that this API is primarily used in combination with
useSimpleHttp - when contacting the Smart GWT Server, use
data instead, which provides full JavaScript <-> Java
translation of arbitrary structures. rpcRequest.params can also be used with the Smart GWT Server, where it
provides an an opportunity to send additional data aside from the main data payload. This is useful for adding data to DataSource requests which will be kept separate from the automatically
sent DataSource data, or for making parts of the request visible in the URL for HTTP-level logging or layer 4 switches.

Note that in contrast to data object, the data in
rpcRequest.params is not deserialized by the Smart GWT server, and all values arrive on the server as
String type (like HTTP parameters always do).

Note: The params are submitted once per http transaction. If you
are using request queuing to bundle multiple RPCRequests or
DSRequests into a single HTTP turnaround, the params from the various RPCRequests will be merged, with the later-queued
transactions winning on parameter name collisions. A warning will be logged in the Developer Console if multiple
RPCRequests specified params.

Parameters:

params - New params value. Default value is null

setPrompt

public void setPrompt(java.lang.String prompt)

Overrides RPCManager.defaultPrompt for this request only. If you're using queuing, note that the prompt string from the
first request in the queue is the one that is shown to the user.

setServerOutputAsString

Setting this flag makes the body of the HTTP response available as a String in the callback as RPCResponse.data. This is typically only useful if you are sending a request that will not be received by the
Smart GWT Java Server, however in that case, set useSimpleHttp:true instead, which implies serverOutputAsString:true.

serverOutputAsString:true allows you to, for example, load the contents of static files off your webserver
into a string for processing on the client with no server support. The actionURL must be in the same domain as the current page for this to
work.

This feature relies on the XMLHttpRequest object which can be disabled by end-users in some supported
browsers. See PlatformDependencies for more information.

Generally this API is
used for either non-Java backends or for advanced usage such as content
that requires processing before it can be used in Smart GWT components (such as client-side web scraping). Note that
Smart GWT provides higher-level APIs for loading common types of data, see eg HTMLFlow for HTML content, ViewLoader for loading Smart
GWT components, XMLTools.loadXML() for loading XML, evalResult for loading JSON, and DataSource for loading structured data in various
formats.

getServerOutputAsString

public java.lang.Boolean getServerOutputAsString()

Setting this flag makes the body of the HTTP response available as a String in the callback as RPCResponse.data. This is typically only useful if you are sending a request that will not be received by the
Smart GWT Java Server, however in that case, set useSimpleHttp:true instead, which implies serverOutputAsString:true.

serverOutputAsString:true allows you to, for example, load the contents of static files off your webserver
into a string for processing on the client with no server support. The actionURL must be in the same domain as the current page for this to
work.

This feature relies on the XMLHttpRequest object which can be disabled by end-users in some supported
browsers. See PlatformDependencies for more information.

Generally this API is
used for either non-Java backends or for advanced usage such as content
that requires processing before it can be used in Smart GWT components (such as client-side web scraping). Note that
Smart GWT provides higher-level APIs for loading common types of data, see eg HTMLFlow for HTML content, ViewLoader for loading Smart
GWT components, XMLTools.loadXML() for loading XML, evalResult for loading JSON, and DataSource for loading structured data in various
formats.

Returns:

Current serverOutputAsString value. Default value is false

setShowPrompt

public void setShowPrompt(java.lang.Boolean showPrompt)

Overrides RPCManager.showPrompt for this request only.

If you're using queuing, note that if any of the
requests in the queue specify showPrompt:true, then a prompt will be shown for the entire queue with the prompt text of
the first request in the queue to specify a custom prompt if promptStyle is set to "dialog".

If promptStyle is set
to "cursor" for the request that specified showPrompt: true, then the entire queue uses the "cursor" style for the
prompt.

getShowPrompt

public java.lang.Boolean getShowPrompt()

Overrides RPCManager.showPrompt for this request only.

If you're using queuing, note that if any of the
requests in the queue specify showPrompt:true, then a prompt will be shown for the entire queue with the prompt text of
the first request in the queue to specify a custom prompt if promptStyle is set to "dialog".

If promptStyle is set
to "cursor" for the request that specified showPrompt: true, then the entire queue uses the "cursor" style for the
prompt.

setSuppressAutoDraw

public void setSuppressAutoDraw(java.lang.Boolean suppressAutoDraw)

If evalResult is set, setting this property to true causes
Canvas.autoDraw to be set to false for the duration of the result
evaluation - which is generally what you want if you're returning new components from the server.

getSuppressAutoDraw

public java.lang.Boolean getSuppressAutoDraw()

If evalResult is set, setting this property to true causes
Canvas.autoDraw to be set to false for the duration of the result
evaluation - which is generally what you want if you're returning new components from the server.

setTimeout

public void setTimeout(java.lang.Integer timeout)

Sets the timeout on this request. Default is to use defaultTimeout.

If you're using queuing, note that the
timeout setting derived from the last request in the queue is used for the entire queue. If you want to override the
timeout for the queue, make sure to set your override at least on the last request in the queue.

For the
"xmlHttpRequest" transport, this timeout can only happen if the
server actually fails to respond within the specified number of milliseconds. For the "hiddenFrame" transport, this
timeout will occur for non-200 (HTTP_OK) responses.

If timeout is set to zero, the RPCManager will not
enforce a timeout for this request. However, note that all browsers enforce their own timeouts on HTTP requests, and
may have different timeouts for different kinds of failures (no response at all from server, hung response after
receiving headers, hung response after receiving partial data, etc). Also, intervening web proxies or firewalls may
impose timeouts of their own.

As a rough rule of thumb, if your server response will have a lengthy pause before
data begins to be sent, 1-2 minutes is the maximum allowable pause for a public site and still may not work for a
minority of users, but up to 4 minutes may be allowable in a controlled environment (intranet or extranet with
well-known user base).

Above these limits, your code should return some kind of immediate response to the browser,
then kick off a server-side process to complete processing. The browser can then either poll for completion, or use a
server-push notification system such as Smart GWT Real-Time Messaging (see http://smartclient.com/product).

Note : This is an advanced setting

Parameters:

timeout - New timeout value. Default value is null

See Also:

com.smartgwt.client.rpc.RPCManager#defaultTimeout

getTimeout

public java.lang.Integer getTimeout()

Sets the timeout on this request. Default is to use defaultTimeout.

If you're using queuing, note that the
timeout setting derived from the last request in the queue is used for the entire queue. If you want to override the
timeout for the queue, make sure to set your override at least on the last request in the queue.

For the
"xmlHttpRequest" transport, this timeout can only happen if the
server actually fails to respond within the specified number of milliseconds. For the "hiddenFrame" transport, this
timeout will occur for non-200 (HTTP_OK) responses.

If timeout is set to zero, the RPCManager will not
enforce a timeout for this request. However, note that all browsers enforce their own timeouts on HTTP requests, and
may have different timeouts for different kinds of failures (no response at all from server, hung response after
receiving headers, hung response after receiving partial data, etc). Also, intervening web proxies or firewalls may
impose timeouts of their own.

As a rough rule of thumb, if your server response will have a lengthy pause before
data begins to be sent, 1-2 minutes is the maximum allowable pause for a public site and still may not work for a
minority of users, but up to 4 minutes may be allowable in a controlled environment (intranet or extranet with
well-known user base).

Above these limits, your code should return some kind of immediate response to the browser,
then kick off a server-side process to complete processing. The browser can then either poll for completion, or use a
server-push notification system such as Smart GWT Real-Time Messaging (see http://smartclient.com/product).

Returns:

Current timeout value. Default value is null

See Also:

com.smartgwt.client.rpc.RPCManager#defaultTimeout

setTransport

Selects the transport used for this RPCRequest. If unset, the value of defaultTransport will be used.

If you're using queueing, note
that all requests in the queue must use the same transport. If you attempt to send a request via a different transport
than those that are currently on the queue, it will be sent to the server separately, ahead of the queue, and a warning
will be logged to the Developer Console.

If you specify an unknown transport, an error will be logged to the
DeveloperConsole and defaultTransport will be used instead.

If you specify the xmlHttpRequest transport and it is not available, a warning will be logged to the
Developer Console and the RPCManager will attempt to use the hiddenFrame transport instead for this
request. Note that some features like serverOutputAsString require the xmlHttpRequest transport and will not work if the
xmlHttpRequest transport is unavailable (this can happen if the end user is using Internet Explorer and has
disabled ActiveX). You can check whether or not the xmlHttpRequest transport is currently available by
calling RPCManager.xmlHttpRequestAvailable().

getTransport

Selects the transport used for this RPCRequest. If unset, the value of defaultTransport will be used.

If you're using queueing, note
that all requests in the queue must use the same transport. If you attempt to send a request via a different transport
than those that are currently on the queue, it will be sent to the server separately, ahead of the queue, and a warning
will be logged to the Developer Console.

If you specify an unknown transport, an error will be logged to the
DeveloperConsole and defaultTransport will be used instead.

If you specify the xmlHttpRequest transport and it is not available, a warning will be logged to the
Developer Console and the RPCManager will attempt to use the hiddenFrame transport instead for this
request. Note that some features like serverOutputAsString require the xmlHttpRequest transport and will not work if the
xmlHttpRequest transport is unavailable (this can happen if the end user is using Internet Explorer and has
disabled ActiveX). You can check whether or not the xmlHttpRequest transport is currently available by
calling RPCManager.xmlHttpRequestAvailable().

Returns:

Current transport value. Default value is RPCManager.defaultTransport

See Also:

com.smartgwt.client.rpc.RPCManager#defaultTransport

setUseHttpProxy

public void setUseHttpProxy(java.lang.Boolean useHttpProxy)

Indicates whether this request should use the HttpProxyServlet in order to enable contacting hosts other than the origin
server (available only in Pro Edition or better).

When various UI components issues requests automatically, or when
a call to RPCManager.sendProxied() is made, the HttpProxy will
automatically be used for a URL that starts with "http" and uses a hostname other than "localhost" or
window.location.hostname, or if the port number differs.

rpcRequest.useHttpProxy should
only be used to force requests to go through the HttpProxy when the above rules don't work, or to avoid using the
HttpProxy when contacting hosts that allow cross-site calls via the Http Access Control standard.

You can
also set useHttpProxy:false to avoid ever using the
HttpProxyServlet.

Parameters:

useHttpProxy - New useHttpProxy value. Default value is null

getUseHttpProxy

public java.lang.Boolean getUseHttpProxy()

Indicates whether this request should use the HttpProxyServlet in order to enable contacting hosts other than the origin
server (available only in Pro Edition or better).

When various UI components issues requests automatically, or when
a call to RPCManager.sendProxied() is made, the HttpProxy will
automatically be used for a URL that starts with "http" and uses a hostname other than "localhost" or
window.location.hostname, or if the port number differs.

rpcRequest.useHttpProxy should
only be used to force requests to go through the HttpProxy when the above rules don't work, or to avoid using the
HttpProxy when contacting hosts that allow cross-site calls via the Http Access Control standard.

You can
also set useHttpProxy:false to avoid ever using the
HttpProxyServlet.

Returns:

Current useHttpProxy value. Default value is null

setUseSimpleHttp

public void setUseSimpleHttp(java.lang.Boolean useSimpleHttp)

When set to true, assume the request is not going to the Smart GWT server, and hence send a simple HTTP request that
does not use Smart GWT-specific request encoding.

Values specified in params are sent to to the server as HTTP request parameters. If httpMethod is "GET", parameters appear in the request URL, otherwise
if httpMethod is "POST", parameters are encoded in the request body (exactly like an HTML form does). These parameters
are then accessible via typical server-side APIs for retrieving HTTP parameters, eg,
servletRequest.getParameter(paramName) in Java Servlets.

Note that if httpMethod method is POST and data is supplied, data is
assumed to be a string to post as the HTTP request body, and params
are sent as URL parameters instead. This usage is for sending custom request bodies such as the XML payloads used for
SOAP. In this case, contentType is typically also set to
indicate the content type of the request body.

getUseSimpleHttp

When set to true, assume the request is not going to the Smart GWT server, and hence send a simple HTTP request that
does not use Smart GWT-specific request encoding.

Values specified in params are sent to to the server as HTTP request parameters. If httpMethod is "GET", parameters appear in the request URL, otherwise
if httpMethod is "POST", parameters are encoded in the request body (exactly like an HTML form does). These parameters
are then accessible via typical server-side APIs for retrieving HTTP parameters, eg,
servletRequest.getParameter(paramName) in Java Servlets.

Note that if httpMethod method is POST and data is supplied, data is
assumed to be a string to post as the HTTP request body, and params
are sent as URL parameters instead. This usage is for sending custom request bodies such as the XML payloads used for
SOAP. In this case, contentType is typically also set to
indicate the content type of the request body.

setData

public void setData(com.google.gwt.core.client.JavaScriptObject data)

This attribute specifies the payload of the RPCRequest.
When using the Smart GWT server, objects sent to the server as
request.data will be available on the server-side RPCRequest object as Java Objects. This is
achieved by serializing the client side data in a JSON type format and generating Java Objects on the server from this
serialized data.

If the client side request.data is set to a Java object in your SmartGWT code on the client side,
logic in your server side code will be passed the following equivalent objects:

Client

Server Type

boolean primitive or Boolean

Boolean

Non-fractional numeric value(e.g: int, Integer, long, Long)

Long

Fractional numeric value(e.g:float, Float, double, Double)

Double

String

String

Date

Date

List, Set, Iterator

List

Map

Map

Record

Map

RecordList

List of Map

ResultSet

List of Map (containing only loaded rows if the ResultSet has a partial cache on the client)

Note that the order of keys/values in the Maps created on the server is not guaranteed because
JavaScript Object literals do not guarantee order.

Server->client conversion follows this table as well, with
some extras. See the toJS() method on JSTranslater in the server documentation for a description of additional
behaviors.

When not communicating with the Smart GWT server, rpcRequest.data becomes simple HTTP
parameters or an HTTP request body - see useSimpleHttp for
details.

getData

public com.google.gwt.core.client.JavaScriptObject getData()

Returns the payload of this request to be sent to the server, as a JavaScriptObject.

When using the Smart GWT server, objects sent to the server as
request.data will be available on the server-side RPCRequest object as Java Objects. This is
achieved by serializing the client side data in a JSON type format and generating Java Objects on the server from this
serialized data.

If the client side request.data is set to a Java object in your SmartGWT code on the client side,
logic in your server side code will be passed the following equivalent objects:

Client

Server Type

boolean primitive or Boolean

Boolean

Non-fractional numeric value(e.g: int, Integer, long, Long)

Long

Fractional numeric value(e.g:float, Float, double, Double)

Double

String

String

Date

Date

List, Set, Iterator

List

Map

Map

Record

Map

RecordList

List of Map

ResultSet

List of Map (containing only loaded rows if the ResultSet has a partial cache on the client)

Note that the order of keys/values in the Maps created on the server is not guaranteed because
JavaScript Object literals do not guarantee order.

Server->client conversion follows this table as well, with
some extras. See the toJS() method on JSTranslater in the server documentation for a description of additional
behaviors.

When not communicating with the Smart GWT server, rpcRequest.data becomes simple HTTP
parameters or an HTTP request body - see useSimpleHttp for
details.