Package | mx.rpc.http |
Class | public class HTTPService |
Inheritance | HTTPService ![]() ![]() ![]() |
Subclasses | HTTPService |
<mx:HTTPService>
tag to represent an
HTTPService object in an MXML file. 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.
See also
Property | Defined By | ||
---|---|---|---|
channelSet : ChannelSet
Provides access to the ChannelSet used by the service.
| HTTPService | ||
![]() | constructor : Object
A reference to the class object or constructor function for a given object instance.
| Object | |
contentType : String = "application/x-www-form-urlencoded"
Type of content for service requests.
| HTTPService | ||
destination : String
An HTTPService destination name in the services-config.xml file.
| HTTPService | ||
headers : Object
Custom HTTP headers to be sent to the third party endpoint.
| HTTPService | ||
![]() | lastResult : Object
[read-only]
The result of the last invocation.
| AbstractInvoker | |
![]() | makeObjectsBindable : Boolean
When this value is true, anonymous objects returned are forced to bindable objects.
| AbstractInvoker | |
method : String = "GET"
HTTP method for sending the request.
| HTTPService | ||
![]() | prototype : Object
[static]
A reference to the prototype object of a class or function object.
| Object | |
request : Object
Object of name-value pairs used as parameters to the URL.
| HTTPService | ||
requestTimeout : int
Provides access to the request timeout in seconds for sent messages.
| HTTPService | ||
resultFormat : String
Value that indicates how you want to deserialize the result
returned by the HTTP call.
| HTTPService | ||
rootURL : String
The URL that the HTTPService object should use when computing relative URLs.
| HTTPService | ||
url : String
Location of the service.
| HTTPService | ||
useProxy : Boolean
Specifies whether to use the Flex proxy service.
| HTTPService | ||
xmlDecode : Function
ActionScript function used to decode a service result from XML.
| HTTPService | ||
xmlEncode : Function
ActionScript function used to encode a service request as XML.
| HTTPService |
Method | Defined By | ||
---|---|---|---|
Creates a new HTTPService.
| HTTPService | ||
![]() |
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registers an event listener object with an EventDispatcher object so that the listener
receives notification of an event.
| EventDispatcher | |
![]() |
Cancels the last service invocation or an invokation with the specified id.
| AbstractInvoker | |
![]() |
Sets the result property of the invoker to null.
| AbstractInvoker | |
Disconnects the service's network connection.
| HTTPService | ||
![]() |
Dispatches an event into the event flow.
| EventDispatcher | |
![]() |
Checks whether the EventDispatcher object has any listeners registered for a specific type
of event.
| EventDispatcher | |
![]() |
Indicates whether an object has a specified property defined.
| Object | |
![]() |
Indicates whether an instance of the Object class is in the prototype chain of the object specified
as the parameter.
| Object | |
Logs the user out of the destination.
| HTTPService | ||
![]() |
Indicates whether the specified property exists and is enumerable.
| Object | |
![]() |
Removes a listener from the EventDispatcher object.
| EventDispatcher | |
Executes an HTTPService request.
| HTTPService | ||
Sets the credentials for the destination accessed by the service.
| HTTPService | ||
![]() |
Sets the availability of a dynamic property for loop operations.
| Object | |
The username and password to authenticate a user when accessing
the HTTP URL.
| HTTPService | ||
![]() |
Returns the string representation of the specified object.
| Object | |
![]() |
Returns the primitive value of the specified object.
| Object | |
![]() |
Checks whether an event listener is registered with this EventDispatcher object or any of
its ancestors for the specified event type.
| EventDispatcher |
Event | Summary | Defined By | ||
---|---|---|---|---|
![]() | Dispatched when Flash Player or an AIR application gains operating system focus and becomes active. | EventDispatcher | ||
![]() | Dispatched when Flash Player or an AIR application loses operating system focus and is becoming inactive. | EventDispatcher | ||
Dispatched when an HTTPService call fails. | HTTPService | |||
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. | HTTPService | |||
Dispatched when an HTTPService call returns successfully. | HTTPService |
Constant | Defined By | ||
---|---|---|---|
CONTENT_TYPE_FORM : String = "application/x-www-form-urlencoded" [static]
Indicates that the data being sent by the HTTP service is encoded as application/x-www-form-urlencoded.
| HTTPService | ||
CONTENT_TYPE_XML : String = "application/xml" [static]
Indicates that the data being sent by the HTTP service is encoded as application/xml.
| HTTPService | ||
DEFAULT_DESTINATION_HTTP : String = "DefaultHTTP" [static]
Indicates that the HTTPService object uses the DefaultHTTP destination.
| HTTPService | ||
DEFAULT_DESTINATION_HTTPS : String = "DefaultHTTPS" [static]
Indicates that the HTTPService object uses the DefaultHTTPS destination.
| HTTPService | ||
ERROR_DECODING : String = "Client.CouldNotDecode" [static]
Indicates that an XML formatted result could not be parsed into an XML instance
or decoded into an Object.
| HTTPService | ||
ERROR_ENCODING : String = "Client.CouldNotEncode" [static]
Indicates that an input parameter could not be encoded as XML.
| HTTPService | ||
ERROR_URL_REQUIRED : String = "Client.URLRequired" [static]
Indicates that the useProxy property was set to false but a url was not provided.
| HTTPService | ||
RESULT_FORMAT_ARRAY : String = "array" [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.
| HTTPService | ||
RESULT_FORMAT_E4X : String = "e4x" [static]
The result format "e4x" specifies that the value returned is an XML instance, which can be accessed using ECMAScript for XML (E4X) expressions.
| HTTPService | ||
RESULT_FORMAT_FLASHVARS : String = "flashvars" [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.
| HTTPService | ||
RESULT_FORMAT_OBJECT : String = "object" [static]
The result format "object" specifies that the value returned is XML but is parsed as a tree of ActionScript objects.
| HTTPService | ||
RESULT_FORMAT_TEXT : String = "text" [static]
The result format "text" specifies that the HTTPService result text should be an unprocessed String.
| HTTPService | ||
RESULT_FORMAT_XML : String = "xml" [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.
| HTTPService |
channelSet | property |
channelSet:ChannelSet
[read-write]
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.
public function get channelSet():ChannelSet
public function set channelSet(value:ChannelSet):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.
destination | property |
destination:String
[read-write]
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
.
public function get destination():String
public function set destination(value:String):void
headers | property |
public var headers:Object
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.
method | property |
public var method:String = "GET"
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
.
request | property |
public var request:Object
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.
requestTimeout | property |
requestTimeout:int
[read-write] Provides access to the request timeout in seconds for sent messages. A value less than or equal to zero prevents request timeout.
public function get requestTimeout():int
public function set requestTimeout(value:int):void
resultFormat | property |
resultFormat:String
[read-write] Value that indicates how you want to deserialize the result returned by the HTTP call. The value for this is based on the following:
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. public function get resultFormat():String
public function set resultFormat(value:String):void
rootURL | property |
rootURL:String
[read-write]
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.
public function get rootURL():String
public function set rootURL(value:String):void
url | property |
url:String
[read-write]
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.
public function get url():String
public function set url(value:String):void
useProxy | property |
useProxy:Boolean
[read-write]
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
.
public function get useProxy():Boolean
public function set useProxy(value:Boolean):void
xmlDecode | property |
public var xmlDecode:Function
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.
<mx:HTTPService id="hs" xmlDecode="xmlDecoder" url="myURL" resultFormat="object" contentType="application/xml"> <mx:request><source/> <obj>{RequestObject}</obj> </mx:request> </mx:HTTPService>The following example shows an xmlDecoder function:
function xmlDecoder (myXML) { // Simplified decoding logic. var myObj = {}; myObj.name = myXML.firstChild.nodeValue; myObj.honorific = myXML.firstChild.attributes.honorific; return myObj; }
xmlEncode | property |
public var xmlEncode:Function
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:
<mx:HTTPService id="hs" xmlEncode="xmlEncoder" url="myURL" resultFormat="object" contentType="application/xml"> <mx:request><source/> <obj>{RequestObject}</obj> </mx:request> </mx:HTTPService>The following example shows an xmlEncoder function:
function xmlEncoder (myObj) { return new XML(""); }
HTTPService | () | Constructor |
public function HTTPService(rootURL:String = null, destination:String = null)
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
).
rootURL:String (default = null )
|
|
destination:String (default = null )
|
disconnect | () | method |
public function disconnect():void
Disconnects the service's network connection. This method does not wait for outstanding network operations to complete.
logout | () | method |
public function logout():void
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.
send | () | method |
public function send(parameters:Object = null):AsyncToken
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 )
|
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
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
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".
|
fault | Event |
mx.rpc.events.FaultEvent
mx.rpc.events.FaultEvent.FAULT
Dispatched when an HTTPService call fails.
The FAULT event type.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. |
invoke | Event |
mx.rpc.events.InvokeEvent
mx.rpc.events.InvokeEvent.INVOKE
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. |
result | Event |
mx.rpc.events.ResultEvent
mx.rpc.events.ResultEvent.RESULT
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. |
CONTENT_TYPE_FORM | Constant |
public static const CONTENT_TYPE_FORM:String = "application/x-www-form-urlencoded"
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"
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"
Indicates that the HTTPService object uses the DefaultHTTP destination.
DEFAULT_DESTINATION_HTTPS | Constant |
public static const DEFAULT_DESTINATION_HTTPS:String = "DefaultHTTPS"
Indicates that the HTTPService object uses the DefaultHTTPS destination.
ERROR_DECODING | Constant |
public static const ERROR_DECODING:String = "Client.CouldNotDecode"
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"
Indicates that an input parameter could not be encoded as XML.
ERROR_URL_REQUIRED | Constant |
public static const ERROR_URL_REQUIRED:String = "Client.URLRequired"
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"
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"
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"
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"
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"
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"
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.