13.08.2012 Views

ACTIONSCRIPT 3 Developer’s Guide en

ACTIONSCRIPT 3 Developer’s Guide en

ACTIONSCRIPT 3 Developer’s Guide en

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>ACTIONSCRIPT</strong> 3.0 DEVELOPER’S GUIDE<br />

HTTP communications<br />

XML-RPC web service requests<br />

Flash Player 9 and later, Adobe AIR 1.0 and later<br />

An XML-RPC web service takes its call parameters as an XML docum<strong>en</strong>t rather than as a set of URL variables. To<br />

conduct a transaction with an XML-RPC web service, create a properly formatted XML message and s<strong>en</strong>d it to the web<br />

service using the HTTP POST method. In addition, you should set the Cont<strong>en</strong>t-Type header for the request so that the<br />

server treats the request data as XML.<br />

The following example illustrates how to use the same web service call shown in the REST example, but this time as an<br />

XML-RPC service:<br />

import flash.ev<strong>en</strong>ts.Ev<strong>en</strong>t;<br />

import flash.ev<strong>en</strong>ts.ErrorEv<strong>en</strong>t;<br />

import flash.ev<strong>en</strong>ts.IOErrorEv<strong>en</strong>t;<br />

import flash.ev<strong>en</strong>ts.SecurityErrorEv<strong>en</strong>t;<br />

import flash.net.URLLoader;<br />

import flash.net.URLRequest;<br />

import flash.net.URLRequestMethod;<br />

import flash.net.URLVariables;<br />

public function xmlRPCRequest():void<br />

{<br />

//Create the XML-RPC docum<strong>en</strong>t<br />

var xmlRPC:XML = <br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

;<br />

xmlRPC.methodName = "test.echo";<br />

//Add the method parameters<br />

var parameters:Object = new Object();<br />

parameters.api_key = "123456ABC";<br />

parameters.message = "Able was I, ere I saw Elba.";<br />

for( var propertyName:String in parameters )<br />

{<br />

xmlRPC..struct.member[xmlRPC..struct.member.l<strong>en</strong>gth + 1] =<br />

<br />

{propertyName}<br />

<br />

{parameters[propertyName]}<br />

<br />

;<br />

}<br />

//Create the HTTP request object<br />

var request:URLRequest = new URLRequest( "http://service.example.com/xml-rpc/" );<br />

request.method = URLRequestMethod.POST;<br />

request.cacheResponse = false;<br />

request.requestHeaders.push(new URLRequestHeader("Cont<strong>en</strong>t-Type", "application/xml"));<br />

Last updated 6/6/2012<br />

823

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!