{ "type": "class",
  "qname": "mx.rpc.http.HTTPService",
  "baseClassname": "mx.rpc.AbstractInvoker"
  ,
    "description": "You use the HTTPService class to represent an HTTPService object in ActionScript. When you call the HTTPService object's <code>send()</code> 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.  <p><b>Note:</b> Due to a software limitation, HTTPService does not generate user-friendly error messages when using GET.</p>",
  "tags": [
  {  "tagName": "see",
         "values": ["mx.rpc.http.mxml.HTTPService"]},
      {  "tagName": "playerversion",
         "values": ["Flash 9", "AIR 1.1"]},
      {  "tagName": "productversion",
         "values": ["Royale 0.9.3"]},
      {  "tagName": "langversion",
         "values": ["3.0"]}  ],
  "members": [
  { "type": "method",
        "qname": "mx.rpc.http.HTTPService",
        "namespace": "",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Creates a new HTTPService. If you expect the service to send using relative URLs you may wish to specify the <code>rootURL</code> that will be the basis for determining the full URL (one example would be <code>Application.application.url</code>).",
        "tags": [
        {  "tagName": "param",
               "values": ["rootURL The URL the HTTPService should use when computing relative URLS.", "destination An HTTPService destination name in the service-config.xml file."]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "",
          "params": [{ "name": "rootURL", "type": "String"},
        { "name": "destination", "type": "String"}]}
      ,
      { "type": "field",
        "qname": "RESULT_FORMAT_E4X",
        "return": "String",
        "namespace": "public",
        "bindable": [],
        "details": ["static"],
        "deprecated": {},
          "description": "The result format &quot;e4x&quot; specifies that the value returned is an XML instance, which can be accessed using ECMAScript for XML (E4X) expressions.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "field",
        "qname": "RESULT_FORMAT_FLASHVARS",
        "return": "String",
        "namespace": "public",
        "bindable": [],
        "details": ["static"],
        "deprecated": {},
          "description": "The result format &quot;flashvars&quot; specifies that the value returned is text containing name=value pairs separated by ampersands, which is parsed into an ActionScript object.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "field",
        "qname": "RESULT_FORMAT_OBJECT",
        "return": "String",
        "namespace": "public",
        "bindable": [],
        "details": ["static"],
        "deprecated": {},
          "description": "The result format &quot;object&quot; specifies that the value returned is XML but is parsed as a tree of ActionScript objects. This is the default.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "field",
        "qname": "RESULT_FORMAT_ARRAY",
        "return": "String",
        "namespace": "public",
        "bindable": [],
        "details": ["static"],
        "deprecated": {},
          "description": "The result format &quot;array&quot; is similar to &quot;object&quot; however the value returned is always an Array such that if the result returned from result format &quot;object&quot; is not an Array already the item will be added as the first item to a new Array.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "field",
        "qname": "RESULT_FORMAT_TEXT",
        "return": "String",
        "namespace": "public",
        "bindable": [],
        "details": ["static"],
        "deprecated": {},
          "description": "The result format &quot;text&quot; specifies that the HTTPService result text should be an unprocessed String.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "field",
        "qname": "RESULT_FORMAT_XML",
        "return": "String",
        "namespace": "public",
        "bindable": [],
        "details": ["static"],
        "deprecated": {},
          "description": "The result format &quot;xml&quot; specifies that results should be returned as an flash.xml.XMLNode instance pointing to the first child of the parent flash.xml.XMLDocument.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "field",
        "qname": "CONTENT_TYPE_XML",
        "return": "String",
        "namespace": "public",
        "bindable": [],
        "details": ["static"],
        "deprecated": {},
          "description": "Indicates that the data being sent by the HTTP service is encoded as application/xml.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "field",
        "qname": "CONTENT_TYPE_FORM",
        "return": "String",
        "namespace": "public",
        "bindable": [],
        "details": ["static"],
        "deprecated": {},
          "description": "Indicates that the data being sent by the HTTP service is encoded as application/x-www-form-urlencoded.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "field",
        "qname": "DEFAULT_DESTINATION_HTTP",
        "return": "String",
        "namespace": "public",
        "bindable": [],
        "details": ["static"],
        "deprecated": {},
          "description": "Indicates that the HTTPService object uses the DefaultHTTP destination.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "field",
        "qname": "DEFAULT_DESTINATION_HTTPS",
        "return": "String",
        "namespace": "public",
        "bindable": [],
        "details": ["static"],
        "deprecated": {},
          "description": "Indicates that the HTTPService object uses the DefaultHTTPS destination.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "field",
        "qname": "ERROR_URL_REQUIRED",
        "return": "String",
        "namespace": "public",
        "bindable": [],
        "details": ["static"],
        "deprecated": {},
          "description": "Indicates that the useProxy property was set to false but a url was not provided.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "field",
        "qname": "ERROR_DECODING",
        "return": "String",
        "namespace": "public",
        "bindable": [],
        "details": ["static"],
        "deprecated": {},
          "description": "Indicates that an XML formatted result could not be parsed into an XML instance or decoded into an Object.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "field",
        "qname": "ERROR_ENCODING",
        "return": "String",
        "namespace": "public",
        "bindable": [],
        "details": ["static"],
        "deprecated": {},
          "description": "Indicates that an input parameter could not be encoded as XML.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "mx.rpc.AsyncRequest",
        "qname": "asyncRequest",
        "namespace": "mx_internal",
        "bindable": [],
        "details": ["override"],
        "deprecated": {}},
      { "type": "accessor",
        "access": "read-write",
        "return": "mx.messaging.ChannelSet",
        "qname": "channelSet",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "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 <code>destination</code> for this service.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "String",
        "qname": "contentType",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Type of content for service requests. The default is <code>application/x-www-form-urlencoded</code> which sends requests like a normal HTTP POST with name-value pairs. <code>application/xml</code> send requests as XML.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "String",
        "qname": "concurrency",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Value that indicates how to handle multiple calls to the same service. The default value is <code>multiple</code>. The following values are permitted: <ul> <li><code>multiple</code> 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.</li> <li><code>single</code> Only a single request at a time is allowed on the operation; multiple requests generate a fault.</li> <li><code>last</code> Making a request cancels any existing request.</li> </ul>",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "String",
        "qname": "destination",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "An HTTPService destination name in the services-config.xml file. When unspecified, Flex uses the <code>DefaultHTTP</code> destination. If you are using the <code>url</code> property, but want requests to reach the proxy over HTTPS, specify <code>DefaultHTTPS</code>.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "Boolean",
        "qname": "makeObjectsBindable",
        "namespace": "public",
        "bindable": [],
        "details": ["override"],
        "deprecated": {},
          "description": "When this value is true, anonymous objects returned are forced to bindable objects.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "Object",
        "qname": "headers",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "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.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "String",
        "qname": "method",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "HTTP method for sending the request. Permitted values are <code>GET</code>, <code>POST</code>, <code>HEAD</code>, <code>OPTIONS</code>, <code>PUT</code>, <code>TRACE</code> and <code>DELETE</code>. Lowercase letters are converted to uppercase letters. The default value is <code>GET</code>.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "Object",
        "qname": "request",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Object of name-value pairs used as parameters to the URL. If the <code>contentType</code> property is set to <code>application/xml</code>, it should be an XML document.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "String",
        "qname": "resultFormat",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Value that indicates how you want to deserialize the result returned by the HTTP call. The value for this is based on the following: <ul> <li>Whether you are returning XML or name/value pairs.</li> <li>How you want to access the results; you can access results as an object, text, or XML.</li> </ul>  <p>The default value is <code>object</code>. The following values are permitted:</p> <ul> <li><code>object</code> The value returned is XML and is parsed as a tree of ActionScript objects. This is the default.</li> <li><code>array</code> 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.</li> <li><code>xml</code> The value returned is XML and is returned as literal XML in an ActionScript XMLnode object.</li> <li><code>flashvars</code> The value returned is text containing name=value pairs separated by ampersands, which is parsed into an ActionScript object.</li> <li><code>text</code> The value returned is text, and is left raw.</li> <li><code>e4x</code> 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.</li> </ul>",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "String",
        "qname": "rootURL",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The URL that the HTTPService object should use when computing relative URLs. This property is only used when going through the proxy. When the <code>useProxy</code> property is set to <code>false</code>, the relative URL is computed automatically based on the location of the SWF running this application. If not set explicitly <code>rootURL</code> is automatically set to the URL of mx.messaging.config.LoaderConfig.url.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "Boolean",
        "qname": "showBusyCursor",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "If <code>true</code>, a busy cursor is displayed while a service is executing. The default value is <code>false</code>.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "mx.rpc.http.SerializationFilter",
        "qname": "serializationFilter",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "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(&quot;formatName&quot;, filter)",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "String",
        "qname": "url",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Location of the service. If you specify the <code>url</code> and a non-default destination, your destination in the services-config.xml file must allow the specified URL.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "Boolean",
        "qname": "useProxy",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Specifies whether to use the Flex proxy service. The default value is <code>false</code>. If you do not specify <code>true</code> 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 <code>useProxy</code> property is set to <code>false</code>.",
        "tags": [
        {  "tagName": "default",
               "values": ["false"]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "Function",
        "qname": "xmlDecode",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "ActionScript function used to decode a service result from XML. When the <code>resultFormat</code> is an object and the <code>xmlDecode</code> 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. <p>The function referenced by the <code>xmlDecode</code> 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 <code>null</code> or <code>undefined</code> causes a fault.</p>    \\n \\n \\n \\n \\n \\n     \\n \\n \\n \\n \\n \\n \\n \\n \\n",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "Function",
        "qname": "xmlEncode",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "ActionScript function used to encode a service request as XML. When the <code>contentType</code> of a request is <code>application/xml</code> and the request object passed in is an Object, Flex attempts to use the function specified in the <code>xmlEncode</code> property to turn it into a flash.xml.XMLNode object If the <code>xmlEncode</code> property is not set, Flex uses the default XMLEncoder to turn the object graph into a flash.xml.XMLNode object.  <p>The <code>xmlEncode</code> 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 <code>&lt;mx:XML&gt;</code> tag. Returning the wrong type of object causes a fault. The following example shows an &lt;mx:HTTPService&gt; tag that specifies an xmlEncode function:</p>  \\n \\n \\n \\n \\n \\n     \\n \\n \\n \\n \\n \\n",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-only",
        "return": "Object",
        "qname": "lastResult",
        "namespace": "public",
        "bindable": ["resultForBinding"],
        "details": ["override"],
        "deprecated": {},
          "description": "The result of the last invocation.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "method",
        "qname": "clearResult",
        "namespace": "public",
        "bindable": [],
        "details": ["override"],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "inheritDoc",
               "values": []},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "fireBindingEvent", "type": "Boolean"}]}
      ,
      { "type": "accessor",
        "access": "read-write",
        "return": "int",
        "qname": "requestTimeout",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Provides access to the request timeout in seconds for sent messages. A value less than or equal to zero prevents request timeout.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "method",
        "qname": "logout",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "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.  <p><b>Note:</b> Adobe recommends that you use the mx.messaging.ChannelSet.logout() method rather than this method. </p>",
        "tags": [
        {  "tagName": "see",
               "values": ["mx.messaging.ChannelSet#logout()"]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": []}
      ,
      { "type": "method",
        "qname": "send",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "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 <code>contentType</code>.  XML object, depending on the content type for service requests.  available in the <code>result</code> or <code>fault</code> event's <code>token</code> property.",
        "tags": [
        {  "tagName": "param",
               "values": ["parameters An Object containing name-value pairs or an"]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.3"]},
            {  "tagName": "return",
               "values": ["An object representing the asynchronous completion token. It is the same object"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "mx.rpc.AsyncToken",
          "params": [{ "name": "parameters", "type": "Object"}]}
      ,
      { "type": "method",
        "qname": "disconnect",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Disconnects the service's network connection. This method does not wait for outstanding network operations to complete.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": []}
      ,
      { "type": "method",
        "qname": "setCredentials",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "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 <code>setRemoteCredentials()</code> method instead.  credentials. The default is null, which implies the legacy charset of ISO-Latin-1. The only other supported charset is &quot;UTF-8&quot;.",
        "tags": [
        {  "tagName": "param",
               "values": ["username the username for the destination.", "password the password for the destination.", "charset The character set encoding to use while encoding the"]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "username", "type": "String"},
        { "name": "password", "type": "String"},
        { "name": "charset", "type": "String"}]}
      ,
      { "type": "method",
        "qname": "setRemoteCredentials",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "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 <code>useProxy</code> property is set to is false, this property is ignored.  remote credentials. The default is null, which implies the legacy charset of ISO-Latin-1. The only other supported charset is &quot;UTF-8&quot;.",
        "tags": [
        {  "tagName": "param",
               "values": ["remoteUsername the username to pass to the remote endpoint.", "remotePassword the password to pass to the remote endpoint.", "charset The character set encoding to use while encoding the"]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "remoteUsername", "type": "String"},
        { "name": "remotePassword", "type": "String"},
        { "name": "charset", "type": "String"}]}
      ,
      { "type": "method",
        "qname": "cancel",
        "namespace": "public",
        "bindable": [],
        "details": ["override"],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "inheritDoc",
               "values": []},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "mx.rpc.AsyncToken",
          "params": [{ "name": "id", "type": "String"}]}
      ]
  ,
  "events": [
  { "qname": "result",
        "type": "mx.rpc.events.ResultEvent"
      ,
          "description": "Dispatched when an HTTPService call returns successfully.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "eventType",
               "values": ["mx.rpc.events.ResultEvent.RESULT"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "qname": "fault",
        "type": "mx.rpc.events.FaultEvent"
      ,
          "description": "Dispatched when an HTTPService call fails.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "eventType",
               "values": ["mx.rpc.events.FaultEvent.FAULT"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "qname": "invoke",
        "type": "mx.rpc.events.InvokeEvent"
      ,
          "description": "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.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "eventType",
               "values": ["mx.rpc.events.InvokeEvent.INVOKE"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]}]
  }



