You use the HTTPService class to represent an
HTTPService object in ActionScript. When you call the HTTPService object's
send() method, it makes an HTTP request to the
specified URL, and an HTTP response is returned. Optionally, you can pass
parameters to the specified URL. When you do not go through the server-based
proxy service, you can use only HTTP GET or POST methods. However, when you set
the useProxy property to true and you use the server-based proxy service, you
can also use the HTTP HEAD, OPTIONS, TRACE, and DELETE methods.
Note: Due to a software limitation, HTTPService does not generate user-friendly
error messages when using GET.
This property is set usually by framework code which wants to modify the
behavior of a service invocation without modifying the way in which the
service is called externally.
Like resultType, used to define the ActionScript class used by a given operation though
this property only applies to operations which return a multi-valued result (e.g.
Provides an adapter which controls the process of converting the HTTP response body into
ActionScript objects and/or turning the parameters or body into the contentType, URL, and
and post body of the HTTP request.
[static]
The result format "array" is similar to "object" however the value returned is always an Array such
that if the result returned from result format "object" is not an Array already the item will be
added as the first item to a new Array.
[static]
The result format "e4x" specifies that the value returned is an XML instance, which can be accessed using ECMAScript for XML (E4X) expressions.
[static]
The result format "flashvars" specifies that the value returned is text containing name=value pairs
separated by ampersands, which is parsed into an ActionScript object.
[static]
The result format "xml" specifies that results should be returned as an flash.xml.XMLNode instance pointing to
the first child of the parent flash.xml.XMLDocument.
Provides access to the ChannelSet used by the service. The
ChannelSet can be manually constructed and assigned, or it will be
dynamically created to use the configured Channels for the
destination for this service.
Implementation public function get channelSet():ChannelSet public function set channelSet(value:ChannelSet):void
concurrency
property
concurrency:String
Language Version :
ActionScript 3.0
Product Version :
Flex 3
Runtime Versions :
Flash Player 9, AIR 1.1
Value that indicates how to handle multiple calls to the same service. The default
value is multiple. The following values are permitted:
multiple Existing requests are not cancelled, and the developer is
responsible for ensuring the consistency of returned data by carefully
managing the event stream. This is the default value.
single Only a single request at a time is allowed on the operation;
multiple requests generate a fault.
last Making a request cancels any existing request.
Implementation public function get concurrency():String public function set concurrency(value:String):void
contentType
property
contentType:String
Language Version :
ActionScript 3.0
Product Version :
Flex 3
Runtime Versions :
Flash Player 9, AIR 1.1
Type of content for service requests.
The default is application/x-www-form-urlencoded which sends requests
like a normal HTTP POST with name-value pairs. application/xml send
requests as XML.
Implementation public function get contentType():String public function set contentType(value:String):void
destination
property
destination:String
Language Version :
ActionScript 3.0
Product Version :
Flex 3
Runtime Versions :
Flash Player 9, AIR 1.1
An HTTPService destination name in the services-config.xml file. When
unspecified, Flex uses the DefaultHTTP destination.
If you are using the url property, but want requests
to reach the proxy over HTTPS, specify DefaultHTTPS.
Implementation public function get destination():String public function set destination(value:String):void
headers
property
headers:Object
Language Version :
ActionScript 3.0
Product Version :
Flex 3
Runtime Versions :
Flash Player 9, AIR 1.1
Custom HTTP headers to be sent to the third party endpoint. If multiple headers need to
be sent with the same name the value should be specified as an Array.
Implementation public function get headers():Object public function set headers(value:Object):void
lastResult
property
lastResult:Object [read-only] [override]
Language Version :
ActionScript 3.0
Product Version :
Flex 3
Runtime Versions :
Flash Player 9, AIR 1.1
The result of the last invocation.
This property can be used as the source for data binding.
Implementation public function get lastResult():Object
makeObjectsBindable
property
makeObjectsBindable:Boolean[override]
Language Version :
ActionScript 3.0
Product Version :
Flex 3
Runtime Versions :
Flash Player 9, AIR 1.1
When this value is true, anonymous objects returned are forced to bindable objects.
Implementation public function get makeObjectsBindable():Boolean public function set makeObjectsBindable(value:Boolean):void
method
property
method:String
Language Version :
ActionScript 3.0
Product Version :
Flex 3
Runtime Versions :
Flash Player 9, AIR 1.1
HTTP method for sending the request. Permitted values are GET, POST, HEAD,
OPTIONS, PUT, TRACE and DELETE.
Lowercase letters are converted to uppercase letters. The default value is GET.
Implementation public function get method():String public function set method(value:String):void
request
property
request:Object
Language Version :
ActionScript 3.0
Product Version :
Flex 3
Runtime Versions :
Flash Player 9, AIR 1.1
Object of name-value pairs used as parameters to the URL. If
the contentType property is set to application/xml, it should be an XML document.
Implementation public function get request():Object public function set request(value:Object):void
requestTimeout
property
requestTimeout:int
Language Version :
ActionScript 3.0
Product Version :
Flex 3
Runtime Versions :
Flash Player 9, AIR 1.1
Provides access to the request timeout in seconds for sent messages.
A value less than or equal to zero prevents request timeout.
Implementation public function get requestTimeout():int public function set requestTimeout(value:int):void
resultFormat
property
resultFormat:String
Language Version :
ActionScript 3.0
Product Version :
Flex 3
Runtime Versions :
Flash Player 9, AIR 1.1
Value that indicates how you want to deserialize the result
returned by the HTTP call. The value for this is based on the following:
Whether you are returning XML or name/value pairs.
How you want to access the results; you can access results as an object,
text, or XML.
The default value is object. The following values are permitted:
object The value returned is XML and is parsed as a tree of ActionScript
objects. This is the default.
array The value returned is XML and is parsed as a tree of ActionScript
objects however if the top level object is not an Array, a new Array is created and the result
set as the first item. If makeObjectsBindable is true then the Array
will be wrapped in an ArrayCollection.
xml The value returned is XML and is returned as literal XML in an
ActionScript XMLnode object.
flashvars The value returned is text containing
name=value pairs separated by ampersands, which
is parsed into an ActionScript object.
text The value returned is text, and is left raw.
e4x The value returned is XML and is returned as literal XML
in an ActionScript XML object, which can be accessed using ECMAScript for
XML (E4X) expressions.
Implementation public function get resultFormat():String public function set resultFormat(value:String):void
rootURL
property
rootURL:String
Language Version :
ActionScript 3.0
Product Version :
Flex 3
Runtime Versions :
Flash Player 9, AIR 1.1
The URL that the HTTPService object should use when computing relative URLs.
This property is only used when going through the proxy.
When the useProxy property is set to false, the relative URL is computed automatically
based on the location of the SWF running this application.
If not set explicitly rootURL is automatically set to the URL of
mx.messaging.config.LoaderConfig.url.
Implementation public function get rootURL():String public function set rootURL(value:String):void
Provides an adapter which controls the process of converting the HTTP response body into
ActionScript objects and/or turning the parameters or body into the contentType, URL, and
and post body of the HTTP request. This can also be set indirectly by setting the
resultFormat by registering a SerializationFilter using the static method:
SerializationFilter.registerFilterForResultFormat("formatName", filter)
If true, a busy cursor is displayed while a service is executing. The default
value is false.
Implementation public function get showBusyCursor():Boolean public function set showBusyCursor(value:Boolean):void
url
property
url:String
Language Version :
ActionScript 3.0
Product Version :
Flex 3
Runtime Versions :
Flash Player 9, AIR 1.1
Location of the service. If you specify the url and a non-default destination,
your destination in the services-config.xml file must allow the specified URL.
Implementation public function get url():String public function set url(value:String):void
useProxy
property
useProxy:Boolean
Language Version :
ActionScript 3.0
Product Version :
Flex 3
Runtime Versions :
Flash Player 9, AIR 1.1
Specifies whether to use the Flex proxy service. The default value is false. If you
do not specify true to proxy requests though the Flex server, you must ensure that the player
can reach the target URL. You also cannot use destinations defined in the services-config.xml file if the
useProxy property is set to false.
The default value is false.
Implementation public function get useProxy():Boolean public function set useProxy(value:Boolean):void
xmlDecode
property
xmlDecode:Function
Language Version :
ActionScript 3.0
Product Version :
Flex 3
Runtime Versions :
Flash Player 9, AIR 1.1
ActionScript function used to decode a service result from XML.
When the resultFormat is an object and the xmlDecode property is set,
Flex uses the XML that the HTTPService returns to create an
Object. If it is not defined the default XMLDecoder is used
to do the work.
The function referenced by the xmlDecode property must
take a flash.xml.XMLNode object as a parameter and should return
an Object. It can return any type of object, but it must return
something. Returning null or undefined causes a fault.
The following example shows an <mx:HTTPService> tag that specifies an xmlDecode function:
Implementation public function get xmlDecode():Function public function set xmlDecode(value:Function):void
xmlEncode
property
xmlEncode:Function
Language Version :
ActionScript 3.0
Product Version :
Flex 3
Runtime Versions :
Flash Player 9, AIR 1.1
ActionScript function used to encode a service request as XML.
When the contentType of a request is application/xml and the
request object passed in is an Object, Flex attempts to use
the function specified in the xmlEncode property to turn it
into a flash.xml.XMLNode object If the xmlEncode property is not set,
Flex uses the default
XMLEncoder to turn the object graph into a flash.xml.XMLNode object.
The xmlEncode property takes an Object and should return
a flash.xml.XMLNode object. In this case, the XMLNode object can be a flash.xml.XML object,
which is a subclass of XMLNode, or the first child of the
flash.xml.XML object, which is what you get from an <mx:XML> tag.
Returning the wrong type of object causes a fault.
The following example shows an <mx:HTTPService> tag that specifies an xmlEncode function:
The following example shows an xmlEncoder function:
function xmlEncoder (myObj)
{
return new XML("");
}
Implementation public function get xmlEncode():Function public function set xmlEncode(value:Function):void
Constructor Detail
HTTPService
()
Constructor
public function HTTPService(rootURL:String = null, destination:String = null)
Language Version :
ActionScript 3.0
Product Version :
Flex 3
Runtime Versions :
Flash Player 9, AIR 1.1
Creates a new HTTPService. If you expect the service to send using relative URLs you may
wish to specify the rootURL that will be the basis for determining the full URL (one example
would be Application.application.url).
Parameters
rootURL:String (default = null) — The URL the HTTPService should use when computing relative URLS.
destination:String (default = null) — An HTTPService destination name in the service-config.xml file.
Method Detail
cancel
()
method
override public function cancel(id:String = null):AsyncToken
Language Version :
ActionScript 3.0
Product Version :
Flex 3
Runtime Versions :
Flash Player 9, AIR 1.1
Cancels the last service invocation or an invokation with the specified ID.
Even though the network operation may still continue, no result or fault event
is dispatched.
Parameters
id:String (default = null) — The messageId of the invocation to cancel. Optional. If omitted, the
last service invocation is canceled.
Returns
AsyncToken — The AsyncToken associated with the call that is cancelled or null if no call was cancelled.
clearResult
()
method
override public function clearResult(fireBindingEvent:Boolean = true):void
Language Version :
ActionScript 3.0
Product Version :
Flex 3
Runtime Versions :
Flash Player 9, AIR 1.1
Sets the result property of the invoker to null.
This is useful when the result is a large object that is no longer being
used.
Parameters
fireBindingEvent:Boolean (default = true) — Set to true if you want anything
bound to the result to update. Otherwise, set to
false.
The default value is true
disconnect
()
method
public function disconnect():void
Language Version :
ActionScript 3.0
Product Version :
Flex 3
Runtime Versions :
Flash Player 9, AIR 1.1
Disconnects the service's network connection.
This method does not wait for outstanding network operations to complete.
logout
()
method
public function logout():void
Language Version :
ActionScript 3.0
Product Version :
Flex 3
Runtime Versions :
Flash Player 9, AIR 1.1
Logs the user out of the destination.
Logging out of a destination applies to everything connected using the same channel
as specified in the server configuration. For example, if you're connected over the my-rtmp channel
and you log out using one of your RPC components, anything that was connected over my-rtmp is logged out.
Note: Adobe recommends that you use the mx.messaging.ChannelSet.logout() method
rather than this method.
public function send(parameters:Object = null):AsyncToken
Language Version :
ActionScript 3.0
Product Version :
Flex 3
Runtime Versions :
Flash Player 9, AIR 1.1
Executes an HTTPService request. The parameters are optional, but if specified should
be an Object containing name-value pairs or an XML object depending on the contentType.
Parameters
parameters:Object (default = null) — An Object containing name-value pairs or an
XML object, depending on the content type for service
requests.
Returns
AsyncToken — An object representing the asynchronous completion token. It is the same object
available in the result or fault event's token property.
setCredentials
()
method
public function setCredentials(username:String, password:String, charset:String = null):void
Language Version :
ActionScript 3.0
Product Version :
Flex 3
Runtime Versions :
Flash Player 9, AIR 1.1
Sets the credentials for the destination accessed by the service.
The credentials are applied to all services connected over the same ChannelSet.
Note that services that use a proxy to a remote destination
will need to call the setRemoteCredentials() method instead.
Parameters
username:String — the username for the destination.
password:String — the password for the destination.
charset:String (default = null) — The character set encoding to use while encoding the
credentials. The default is null, which implies the legacy charset of
ISO-Latin-1. The only other supported charset is "UTF-8".
setRemoteCredentials
()
method
public function setRemoteCredentials(remoteUsername:String, remotePassword:String, charset:String = null):void
Language Version :
ActionScript 3.0
Product Version :
Flex 3
Runtime Versions :
Flash Player 9, AIR 1.1
The username and password to authenticate a user when accessing
the HTTP URL. These are passed as part of the HTTP Authorization
header from the proxy to the endpoint. If the useProxy property
is set to is false, this property is ignored.
Parameters
remoteUsername:String — the username to pass to the remote endpoint.
remotePassword:String — the password to pass to the remote endpoint.
charset:String (default = null) — The character set encoding to use while encoding the
remote credentials. The default is null, which implies the legacy
charset of ISO-Latin-1. The only other supported charset is
"UTF-8".
The properties of the event object have the following values:
Property
Value
bubbles
false
cancelable
true, calling preventDefault()
from the associated token's responder.fault method will prevent
the service or operation from dispatching this event
currentTarget
The Object that defines the
event listener that handles the event. For example, if you use
myButton.addEventListener() to register an event listener,
myButton is the value of the currentTarget.
fault
The Fault object that contains the
details of what caused this event.
message
The Message associated with this event.
target
The Object that dispatched the event;
it is not always the Object listening for the event.
Use the currentTarget property to always access the
Object listening for the event.
token
The token that represents the call
to the method. Used in the asynchronous completion token pattern.
The invoke event is fired when an HTTPService call is invoked so long as
an Error is not thrown before the Channel attempts to send the message.
The INVOKE event type.
The properties of the event object have the following values:
Property
Value
bubbles
false
token
The token that represents the indiviudal call
to the method. Used in the asynchronous completion token pattern.
cancelable
true
currentTarget
The Object that defines the
event listener that handles the event. For example, if you use
myButton.addEventListener() to register an event listener,
myButton is the value of the currentTarget.
message
The request Message associated with this event.
target
The Object that dispatched the event;
it is not always the Object listening for the event.
Use the currentTarget property to always access the
Object listening for the event.
Dispatched when an HTTPService call returns successfully.
The RESULT event type.
The properties of the event object have the following values:
Property
Value
bubbles
false
cancelable
true, preventDefault()
from the associated token's responder.result method will prevent
the service or operation from dispatching this event
currentTarget
The Object that defines the
event listener that handles the event. For example, if you use
myButton.addEventListener() to register an event listener,
myButton is the value of the currentTarget.
message
The Message associated with this event.
target
The Object that dispatched the event;
it is not always the Object listening for the event.
Use the currentTarget property to always access the
Object listening for the event.
result
Result that the RPC call returns.
token
The token that represents the indiviudal call
to the method. Used in the asynchronous completion token pattern.
Constant Detail
CONTENT_TYPE_FORM
Constant
public static const CONTENT_TYPE_FORM:String = application/x-www-form-urlencoded
Language Version :
ActionScript 3.0
Product Version :
Flex 3
Runtime Versions :
Flash Player 9, AIR 1.1
Indicates that the data being sent by the HTTP service is encoded as application/x-www-form-urlencoded.
CONTENT_TYPE_XML
Constant
public static const CONTENT_TYPE_XML:String = application/xml
Language Version :
ActionScript 3.0
Product Version :
Flex 3
Runtime Versions :
Flash Player 9, AIR 1.1
Indicates that the data being sent by the HTTP service is encoded as application/xml.
DEFAULT_DESTINATION_HTTP
Constant
public static const DEFAULT_DESTINATION_HTTP:String = DefaultHTTP
Language Version :
ActionScript 3.0
Product Version :
Flex 3
Runtime Versions :
Flash Player 9, AIR 1.1
Indicates that the HTTPService object uses the DefaultHTTP destination.
DEFAULT_DESTINATION_HTTPS
Constant
public static const DEFAULT_DESTINATION_HTTPS:String = DefaultHTTPS
Language Version :
ActionScript 3.0
Product Version :
Flex 3
Runtime Versions :
Flash Player 9, AIR 1.1
Indicates that the HTTPService object uses the DefaultHTTPS destination.
ERROR_DECODING
Constant
public static const ERROR_DECODING:String = Client.CouldNotDecode
Language Version :
ActionScript 3.0
Product Version :
Flex 3
Runtime Versions :
Flash Player 9, AIR 1.1
Indicates that an XML formatted result could not be parsed into an XML instance
or decoded into an Object.
ERROR_ENCODING
Constant
public static const ERROR_ENCODING:String = Client.CouldNotEncode
Language Version :
ActionScript 3.0
Product Version :
Flex 3
Runtime Versions :
Flash Player 9, AIR 1.1
Indicates that an input parameter could not be encoded as XML.
ERROR_URL_REQUIRED
Constant
public static const ERROR_URL_REQUIRED:String = Client.URLRequired
Language Version :
ActionScript 3.0
Product Version :
Flex 3
Runtime Versions :
Flash Player 9, AIR 1.1
Indicates that the useProxy property was set to false but a url was not provided.
RESULT_FORMAT_ARRAY
Constant
public static const RESULT_FORMAT_ARRAY:String = array
Language Version :
ActionScript 3.0
Product Version :
Flex 3
Runtime Versions :
Flash Player 9, AIR 1.1
The result format "array" is similar to "object" however the value returned is always an Array such
that if the result returned from result format "object" is not an Array already the item will be
added as the first item to a new Array.
RESULT_FORMAT_E4X
Constant
public static const RESULT_FORMAT_E4X:String = e4x
Language Version :
ActionScript 3.0
Product Version :
Flex 3
Runtime Versions :
Flash Player 9, AIR 1.1
The result format "e4x" specifies that the value returned is an XML instance, which can be accessed using ECMAScript for XML (E4X) expressions.
RESULT_FORMAT_FLASHVARS
Constant
public static const RESULT_FORMAT_FLASHVARS:String = flashvars
Language Version :
ActionScript 3.0
Product Version :
Flex 3
Runtime Versions :
Flash Player 9, AIR 1.1
The result format "flashvars" specifies that the value returned is text containing name=value pairs
separated by ampersands, which is parsed into an ActionScript object.
RESULT_FORMAT_OBJECT
Constant
public static const RESULT_FORMAT_OBJECT:String = object
Language Version :
ActionScript 3.0
Product Version :
Flex 3
Runtime Versions :
Flash Player 9, AIR 1.1
The result format "object" specifies that the value returned is XML but is parsed as a tree of ActionScript objects. This is the default.
RESULT_FORMAT_TEXT
Constant
public static const RESULT_FORMAT_TEXT:String = text
Language Version :
ActionScript 3.0
Product Version :
Flex 3
Runtime Versions :
Flash Player 9, AIR 1.1
The result format "text" specifies that the HTTPService result text should be an unprocessed String.
RESULT_FORMAT_XML
Constant
public static const RESULT_FORMAT_XML:String = xml
Language Version :
ActionScript 3.0
Product Version :
Flex 3
Runtime Versions :
Flash Player 9, AIR 1.1
The result format "xml" specifies that results should be returned as an flash.xml.XMLNode instance pointing to
the first child of the parent flash.xml.XMLDocument.