ActionScript® 3.0 Reference for the Adobe® Flash® Platform
Home  |  Show Packages and Classes List |  Packages  |  Classes  |  What's New  |  Index  |  Appendixes
mx.rpc.http 

HTTPMultiService  - AS3 Flex

Packagemx.rpc.http
Classpublic dynamic class HTTPMultiService
InheritanceHTTPMultiService Inheritance AbstractService Inheritance Proxy
Subclasses HTTPMultiService

Language Version: ActionScript 3.0
Product Version: Flex 3
Runtime Versions: Flash Player 9, AIR 1.1

You use the <mx:HTTPMultiService> tag to represent a collection of http operations. Each one has a URL, method, parameters and return type.

You can set attributes such as the URL and method on the HTTPMultiService tag to act as defaults for values set on each individual operation tag. The URL of the HTTPMultiService serves as the base url (meaning the prefix) for any relative urls set on the http operation tags. Each http operation has a send() method, which makes an HTTP request to the specified URL, and an HTTP response is returned.

You can pass parameters to the specified URL which are used to put data into the HTTP request. The contentType property specifies a mime-type which is used to determine the over-the-wire data format (such as HTTP form encoding or XML).

You can also use a serialization filter to implement a custom resultFormat such as JSON. 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: Unlike the HTTPService class, the HTTPMultiService class does not define a request property.

Note: Due to a software limitation, like HTTPService, the HTTPMultiService does not generate user-friendly error messages when using GET and not using a proxy.

Default MXML PropertyoperationList

Related API Elements



Public Properties
 PropertyDefined By
  baseURL : String
The URL that the HTTPService object should use when computing relative URLs.
HTTPMultiService
 InheritedchannelSet : ChannelSet
Provides access to the ChannelSet used by the service.
AbstractService
  concurrency : String
Value that indicates how to handle multiple calls to the same operation within the service.
HTTPMultiService
  contentType : String = "application/x-www-form-urlencoded"
Type of content for service requests.
HTTPMultiService
 Inheriteddestination : String
The destination of the service.
AbstractService
  headers : Object
Custom HTTP headers to be sent to the third party endpoint.
HTTPMultiService
  makeObjectsBindable : Boolean = true
When true, the objects returned support data binding to UI controls.
HTTPMultiService
 Inheritedmanagers : Array
The managers property stores a list of data managers which modify the behavior of this service.
AbstractService
  method : String = "GET"
HTTP method for sending the request if a method is not set explicit on the operation.
HTTPMultiService
  operationList : Array
This serves as the default property for this instance so that we can define a set of operations as direct children of the HTTPMultiService tag in MXML.
HTTPMultiService
 Inheritedoperations : Object
The Operations array is usually only set by the MXML compiler if you create a service using an MXML tag.
AbstractService
 InheritedrequestTimeout : int
Provides access to the request timeout in seconds for sent messages.
AbstractService
  resultFormat : String
Value that indicates how you want to deserialize the result returned by the HTTP call.
HTTPMultiService
  serializationFilter : SerializationFilter
Default serializationFilter used by all operations which do not set one explicitly
HTTPMultiService
  showBusyCursor : Boolean
If true, a busy cursor is displayed while a service is executing.
HTTPMultiService
  useProxy : Boolean
Specifies whether to use the Flex proxy service.
HTTPMultiService
Public Methods
 MethodDefined By
  
HTTPMultiService(baseURL:String = null, destination:String = null)
Creates a new HTTPService.
HTTPMultiService
 Inherited
Disconnects the service's network connection and removes any pending request responders.
AbstractService
 Inherited
Returns an Operation of the given name.
AbstractService
 Inherited
Called to initialize the service.
AbstractService
 Inherited
Logs the user out of the destination.
AbstractService
 Inherited
setCredentials(username:String, password:String, charset:String = null):void
Sets the credentials for the destination accessed by the service when using Data Services on the server side.
AbstractService
 Inherited
setRemoteCredentials(remoteUsername:String, remotePassword:String, charset:String = null):void
The username and password to be used to authenticate a user when accessing a remote, third-party endpoint such as a web service through a proxy or a remote object through a custom adapter when using Data Services on the server side.
AbstractService
Events
 Event Summary Defined By
  Dispatched when an HTTPMultiService call fails.HTTPMultiService
  The invoke event is fired when an HTTPMultiService call is invoked so long as an Error is not thrown before the Channel attempts to send the message.HTTPMultiService
  Dispatched when an HTTPMultiService call returns successfully.HTTPMultiService
Property Detail

baseURL

property
public var baseURL: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 contains a prefix which is prepended onto any URLs when it is set. It defaults to null in which case the URL for the SWF is used to compute relative URLs.

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 operation within the service. The concurrency setting set here will be used for operations that do not specify concurrecny. Individual operations that have the concurrency setting set directly will ignore the value set here. 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 
public var contentType:String = "application/x-www-form-urlencoded"

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.

headers

property 
public var 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. These headers are sent to all operations. You can also set headers at the operation level.

makeObjectsBindable

property 
public var makeObjectsBindable:Boolean = true

Language Version: ActionScript 3.0
Product Version: Flex 3
Runtime Versions: Flash Player 9, AIR 1.1

When true, the objects returned support data binding to UI controls. That means they send PropertyChangeEvents when their property values are being changed. This is the default value for any operations whose makeObjectsBindable property is not set explicitly.

method

property 
public var method:String = "GET"

Language Version: ActionScript 3.0
Product Version: Flex 3
Runtime Versions: Flash Player 9, AIR 1.1

HTTP method for sending the request if a method is not set explicit on the operation. Permitted values are GET, POST, HEAD, OPTIONS, PUT, TRACE and DELETE. Lowercase letters are converted to uppercase letters. The default value is GET.

operationList

property 
operationList:Array

Language Version: ActionScript 3.0
Product Version: Flex 3
Runtime Versions: Flash Player 9, AIR 1.1

This serves as the default property for this instance so that we can define a set of operations as direct children of the HTTPMultiService tag in MXML.



Implementation
    public function get operationList():Array
    public function set operationList(value:Array):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

serializationFilter

property 
public var serializationFilter:SerializationFilter

Default serializationFilter used by all operations which do not set one explicitly

showBusyCursor

property 
showBusyCursor:Boolean

Language Version: ActionScript 3.0
Product Version: Flex 3
Runtime Versions: Flash Player 9, AIR 1.1

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

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
Constructor Detail

HTTPMultiService

()Constructor
public function HTTPMultiService(baseURL: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 baseURL that will be the basis for determining the full URL (one example would be Application.application.url).

Parameters
baseURL:String (default = null) — The URL the HTTPService should use when computing relative URLS.
 
destination:String (default = null)
Event Detail

fault

Event
Event Object Type: mx.rpc.events.FaultEvent
property FaultEvent.type = mx.rpc.events.FaultEvent.FAULT

Language Version: ActionScript 3.0
Product Version: Flex 3
Runtime Versions: Flash Player 9, AIR 1.1

Dispatched when an HTTPMultiService call fails.

The FAULT event type.

The properties of the event object have the following values:

PropertyValue
bubblesfalse
cancelabletrue, calling preventDefault() from the associated token's responder.fault method will prevent the service or operation from dispatching this event
currentTargetThe 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.
faultThe Fault object that contains the details of what caused this event.
messageThe Message associated with this event.
targetThe 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.
tokenThe token that represents the call to the method. Used in the asynchronous completion token pattern.

invoke

Event  
Event Object Type: mx.rpc.events.InvokeEvent
property InvokeEvent.type = mx.rpc.events.InvokeEvent.INVOKE

Language Version: ActionScript 3.0
Product Version: Flex 3
Runtime Versions: Flash Player 9, AIR 1.1

The invoke event is fired when an HTTPMultiService 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:

PropertyValue
bubblesfalse
token The token that represents the indiviudal call to the method. Used in the asynchronous completion token pattern.
cancelabletrue
currentTargetThe 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.
targetThe 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

Event  
Event Object Type: mx.rpc.events.ResultEvent
property ResultEvent.type = mx.rpc.events.ResultEvent.RESULT

Language Version: ActionScript 3.0
Product Version: Flex 3
Runtime Versions: Flash Player 9, AIR 1.1

Dispatched when an HTTPMultiService call returns successfully.

The RESULT event type.

The properties of the event object have the following values:

PropertyValue
bubblesfalse
cancelabletrue, preventDefault() from the associated token's responder.result method will prevent the service or operation from dispatching this event
currentTargetThe 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.
targetThe 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.
resultResult that the RPC call returns.
tokenThe token that represents the indiviudal call to the method. Used in the asynchronous completion token pattern.