Website Network

Send Free SMS with Flex

Download source code: Free SMS with Flex Download
Live demo: http://www.freebiesms.co.uk/apps/flex/freebiesmsflex.html

Sending SMS using the FreebieSMS webservice is easy using Flex / Actionscript (Adobe Flash), and here's how.

First, define your MXML file as follows:

<my:FreebieSMS xmlns:my="*"
    xmlns:mx="http://www.adobe.com/2006/mxml"
    layout="absolute">  
    <mx:Label x="10" y="10" text="From Name"/>
    <mx:TextInput x="100" y="10" id="tiFromName"/>
   
    <mx:Label x="10" y="30" text="From Number"/>
    <mx:TextInput x="100" y="30" text="00447" id="tiFromNumber"/>
   
    <mx:Label x="10" y="50" text="To Name"/>
    <mx:TextInput x="100" y="50" text="" id="tiToName"/>
   
    <mx:Label x="10" y="70" text="To Number"/>
    <mx:TextInput x="100" y="70" text="00447" id="tiToNumber"/>
   
    <mx:Label x="10" y="90" text="Message"/>
    <mx:TextArea x="100" y="90" id="taMessage"/>
   
    <mx:Button x="100" y="150" label="Send SMS" click="click(event)"/> 
   
    <mx:WebService id="webService"
            wsdl="http://www.freebiesms.co.uk/sendSMS.asmx?wsdl">
        <mx:operation name="SendSms"
                resultFormat="object"
                result="SendSms_result(event);"
                fault="SendSms_fault(event);" />
    </mx:WebService>
 
</my:FreebieSMS>

This then uses a code-behind AS file like this:

package
{
    import flash.events.Event;
    import flash.events.MouseEvent;
    import mx.controls.Alert;
    import mx.core.Application;
    import mx.rpc.soap.mxml.WebService;
    import mx.rpc.events.ResultEvent;
    import mx.rpc.events.FaultEvent;
    import mx.controls.TextInput;
    import mx.controls.TextArea;

    public class FreebieSMS extends Application
    {
        public var webService:WebService;
        public var tiFromName:TextInput;
        public var tiFromNumber:TextInput;
        public var tiToName:TextInput;
        public var tiToNumber:TextInput;
        public var taMessage:TextArea;
       
        protected function click(event:MouseEvent)
        {
            /*
                <SendSms xmlns="http://FreebieSMS.co.uk">
                  <FromName>string</FromName>
                  <FromNumber>string</FromNumber>
                  <ToNumber>string</ToNumber>
                  <Message>string</Message>
                  <locale>string</locale>
                </SendSms>
            */
            webService.SendSms(
                tiFromName.text,
                tiFromNumber.text,
                tiToNumber.text,
                taMessage.text,
                "en-GB"           
            )
        }
        protected function SendSms_result(evt:ResultEvent):void
        {
            Alert.show("SMS Sent!");           
        }

        protected function SendSms_fault(evt:FaultEvent):void
        {
            Alert.show(evt.type);       
        }
    }
}

Note that this webservice can be accessed outside the server, with a flexible CrossDomain policy.

<cross-domain-policy>
    <allow-access-from domain="*"/>
    <allow-http-request-headers-from domain="*" headers="SOAPAction"/>
</cross-domain-policy>



Comments