User Guide

Table Of Contents
Calling web services from Flash 157
Invoking web service methods using Flash Remoting
Flash Remoting uses the .NET WSDL Tool to generate the necessary proxy classes automatically
by specifying a valid URL to a WSDL file or to a URL that can generate a WSDL file, such as a
.NET ASMX file. To invoke a local web service in an ASMX file from Flash, you enter the URL
to the file appended with
?wsdl, as the following ActionScript example shows:
var flashService:Service = new Service(
"http://localhost/myASPApp/default.aspx",
null,
"http://localhost/myASPApp/ExampleWebService.asmx?wsdl",
null,
null);
You use the URL of the WSDL file, or a file capable of generating WSDL, as the service name. In
the ASMX file, a
getMessage method has been defined, as the following C# example shows:
[WebMethod]
public string getMessage()
{
return "Flash Remoting makes web services easy!";
}
To call this method in ActionScript, you use the method name in the context of the
flashService Service object, as the following ActionScript example shows:
flashService.getMessage();
To display the results of the method invocation in Flash, you use an event handler, as the
following example shows:
function getMessage_Result(re:mx.rpc.ResultEvent):Void
{
serviceMessage.text = re.result;
}
function getMessage_Fault(fe:mx.rpc.FaultEvent):Void
{
serviceMessage.text = fe.fault.faultstring;
}
In the code, the results of the getMessage web service method call are displayed in the
serviceMessage.text dynamic text field. For more information, see Chapter 2, “Handling
service results and errors,” on page 43.
Here is the complete example:
import mx.remoting.Service;
import mx.remoting.PendingCall;
import mx.rpc.RelayResponder;
import mx.rpc.FaultEvent;
import mx.rpc.ResultEvent;
var flashService:Service = new Service(
"http://localhost/myASPApp/default.aspx",
null,
"http://localhost/myASPApp/ExampleWebService.asmx?wsdl",
null,