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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

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

HTTP communications<br />

}<br />

request.data = xmlRPC;<br />

//Initiate the request<br />

requestor = new URLLoader();<br />

requestor.dataFormat = URLLoaderDataFormat.TEXT;<br />

requestor.addEv<strong>en</strong>tList<strong>en</strong>er( Ev<strong>en</strong>t.COMPLETE, xmlRPCRequestComplete );<br />

requestor.addEv<strong>en</strong>tList<strong>en</strong>er( IOErrorEv<strong>en</strong>t.IO_ERROR, xmlRPCRequestError );<br />

requestor.addEv<strong>en</strong>tList<strong>en</strong>er( SecurityErrorEv<strong>en</strong>t.SECURITY_ERROR, xmlRPCRequestError );<br />

requestor.load( request );<br />

private function xmlRPCRequestComplete( ev<strong>en</strong>t:Ev<strong>en</strong>t ):void<br />

{<br />

trace( XML(ev<strong>en</strong>t.target.data).toXMLString() );<br />

}<br />

private function xmlRPCRequestError( error:ErrorEv<strong>en</strong>t ):void<br />

{<br />

trace( "An error occurred: " + error );<br />

}<br />

WebKit in AIR doesn’t support E4X syntax, so the method used to create the XML docum<strong>en</strong>t in the previous example<br />

does not work in JavaScript code. Instead, you must use the DOM methods to create the XML docum<strong>en</strong>t or create the<br />

docum<strong>en</strong>t as a string and use the JavaScript DOMParser class to convert the string to XML.<br />

The following example uses DOM methods to create an XML-RPC message and an XMLHttpRequest to conduct the<br />

web service transaction:<br />

<br />

<br />

XML-RPC web service request<br />

<br />

function makeRequest()<br />

{<br />

var requestDisplay = docum<strong>en</strong>t.getElem<strong>en</strong>tById( "request" );<br />

var resultDisplay = docum<strong>en</strong>t.getElem<strong>en</strong>tById( "result" );<br />

var request = {};<br />

request.URL = "http://services.example.com/xmlrpc/";<br />

request.method = "test.echo";<br />

request.HTTPmethod = "POST";<br />

request.parameters = {};<br />

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

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

var requestMessage = formatXMLRPC( request );<br />

xmlhttp = new XMLHttpRequest();<br />

xmlhttp.op<strong>en</strong>( request.HTTPmethod, request.URL, true);<br />

xmlhttp.onreadystatechange = function() {<br />

if (xmlhttp.readyState == 4) {<br />

resultDisplay.innerText = xmlhttp.responseText;<br />

}<br />

}<br />

xmlhttp.s<strong>en</strong>d( requestMessage );<br />

requestDisplay.innerText = xmlToString( requestMessage.docum<strong>en</strong>tElem<strong>en</strong>t );<br />

Last updated 6/6/2012<br />

824

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

Saved successfully!

Ooh no, something went wrong!