ActionScript® 3.0 Reference for the Adobe® Flash® Platform
Home  |  Show Packages and Classes List |  Packages  |  Classes  |  What's New  |  Index  |  Appendixes
mx.rpc.soap.mxml 

WebService  - AS3 Flex

Packagemx.rpc.soap.mxml
Classpublic dynamic class WebService
InheritanceWebService Inheritance WebService Inheritance AbstractWebService Inheritance AbstractService Inheritance Proxy
Implements IMXMLSupport, IMXMLObject

Language Version: ActionScript 3.0
Product Version: Flex 3
Runtime Versions: Flash Player 9, AIR 1.1

The <mx:WebService> tag gives you access to the operations of SOAP-compliant web services.

MXML SyntaxexpandedHide MXML Syntax

The <mx:WebService> tag accepts the following tag attributes:

 <mx:WebService
   Properties
   concurrency="multiple|single|last"
   destination="No default."
   id="No default."
   serviceName="No default."
   showBusyCursor="false|true"
   makeObjectsBindable="false|true"
   useProxy="false|true"
   wsdl="No default."
 
   Events
   fault="No default."
   result="No default."
 />
 

An <mx:WebService> tag can have multiple <mx:operation> tags, which have the following tag attributes:

 <mx:operation
   Properties
   concurrency="multiple|single|last"
   name=No default, required.
   resultFormat="object|xml|e4x"
   makeObjectsBindable="false|true"
 
   
   Events
   fault=No default.
   result=No default.
 />
 
An <mx:Operation> tag contains an <mx:request> tag. To specify an XML structure in an <mx:request> tag, you must set the value of the tag's format attribute to "xml". Otherwise, the body is converted into Objects.

View the examples



Public Properties
 PropertyDefined By
 InheritedchannelSet : ChannelSet
Provides access to the ChannelSet used by the service.
AbstractService
  concurrency : String
Value that indicates how to handle multiple calls to the same service.
WebService
 InheritedconvertParametersHandler : Function
An optional function, primarily intended for framework developers who need to install a function to get called with the parameters passed to each webservice operation invocation.
AbstractWebService
 InheritedconvertResultHandler : Function
An optional function, primarily intended for framework developers who need to install a hook to process the results of an operation before notifying the result handlers.
AbstractWebService
 Inheriteddescription : String
The description of the service for the currently active port.
AbstractWebService
 Inheriteddestination : String
[override] The destination of the service.
AbstractWebService
 InheritedendpointURI : String
The location of the WebService.
AbstractWebService
 Inheritedheaders : Array
[read-only] Returns the array of SOAPHeaders registered for the WebService.
AbstractWebService
 InheritedhttpHeaders : Object
Custom HTTP headers to be sent to the SOAP endpoint.
AbstractWebService
 InheritedmakeObjectsBindable : Boolean
When this value is true, anonymous objects returned are forced to bindable objects.
AbstractWebService
 Inheritedmanagers : Array
The managers property stores a list of data managers which modify the behavior of this service.
AbstractService
 Inheritedoperations : Object
The Operations array is usually only set by the MXML compiler if you create a service using an MXML tag.
AbstractService
 Inheritedport : String
Specifies the port within the WSDL document that this WebService should use.
AbstractWebService
  protocol : String
Deprecated: Please Use channelSet
[write-only] Deprecated, use the appropriate destination instead, or if using a url, use DefaultHTTP or DefaultHTTPS.
WebService
 Inheritedready : Boolean
[read-only] Specifies whether the WebService is ready to make requests.
AbstractWebService
 InheritedrequestTimeout : int
Provides access to the request timeout in seconds for sent messages.
AbstractService
 InheritedrootURL : String
The URL that the WebService should use when computing relative URLs.
AbstractWebService
 Inheritedservice : String
Specifies the service within the WSDL document that this WebService should use.
AbstractWebService
  serviceName : String
Deprecated: Please Use destination
WebService
  showBusyCursor : Boolean
If true, a busy cursor is displayed while a service is executing.
WebService
 InheriteduseProxy : Boolean
Specifies whether to use the Flex proxy service.
AbstractWebService
 Inheritedwsdl : String
The location of the WSDL document for this WebService.
WebService
 InheritedxmlSpecialCharsFilter : Function
Custom function to be used to escape XML special characters before encoding any simple content.
AbstractWebService
Public Methods
 MethodDefined By
  
WebService(destination:String = null)
Creates a new WebService component.
WebService
 Inherited
Adds a header that will be applied to all operations of this web service.
AbstractWebService
 Inherited
addSimpleHeader(qnameLocal:String, qnameNamespace:String, headerName:String, headerValue:String):void
Add a header that will be applied to all operations of this WebService.
AbstractWebService
 Inherited
Returns a Boolean value that indicates whether the WebService is ready to load a WSDL (does it have a valid destination or wsdl specified).
WebService
 Inherited
Clears the headers that applied to all operations.
AbstractWebService
 Inherited
Disconnects the service's network connection and removes any pending request responders.
AbstractService
 Inherited
getHeader(qname:QName, headerName:String = null):SOAPHeader
Returns a header if a match is found based on QName, localName, and URI.
AbstractWebService
  
[override] Returns an Operation of the given name.
WebService
 Inherited
Called to initialize the service.
AbstractService
  
Called automatically by the MXML compiler if the WebService is setup using a tag.
WebService
 Inherited
loadWSDL(uri:String = null):void
Instructs the WebService to download the WSDL document.
WebService
 Inherited
Logs the user out of the destination.
AbstractService
 Inherited
removeHeader(qname:QName, headerName:String = null):void
Removes the header with the given QName from all operations.
AbstractWebService
 Inherited
setCredentials(username:String, password:String, charset:String = null):void
Sets the credentials for the destination accessed by the service when using Data Services on the server side.
AbstractService
 Inherited
setRemoteCredentials(remoteUsername:String, remotePassword:String, charset:String = null):void
[override] The username and password to authenticate a user when accessing the webservice.
AbstractWebService
 Inherited
Represents an instance of WebService as a String, describing important properties such as the destination id and the set of channels assigned.
WebService
Protected Methods
 MethodDefined By
 Inherited
Initializes a new Operation.
WebService
Events
 Event Summary Defined By
 InheritedThe fault event is dispatched when a service call fails and isn't handled by the Operation itself.AbstractService
 InheritedThe invoke event is dispatched when a service Operation is invoked so long as an Error is not thrown before the Channel attempts to send the message.AbstractService
 InheritedThe LoadEvent.LOAD is dispatched when the WSDL document has loaded successfully.WebService
 InheritedThe result event is dispatched when a service call successfully returns and isn't handled by the Operation itself.AbstractService
Public Constants
 ConstantDefined By
Property Detail

concurrency

property
concurrency:String

Language Version: ActionScript 3.0
Product Version: Flex 3
Runtime Versions: Flash Player 9, AIR 1.1

Value that indicates how to handle multiple calls to the same service. The default value is multiple. The following values are permitted:

  • multiple - 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.
  • single - Making only one request at a time is allowed on the method; additional requests made while a request is outstanding are immediately faulted on the client and are not sent to the server.
  • last - Making a request causes the client to ignore a result or fault for any current outstanding request. Only the result or fault for the most recent request will be dispatched on the client. This may simplify event handling in the client application, but care should be taken to only use this mode when results or faults for requests may be safely ignored.


Implementation
    public function get concurrency():String
    public function set concurrency(value:String):void

protocol

property 
protocol:String  [write-only]
Deprecated: Please Use channelSet

Language Version: ActionScript 3.0
Product Version: Flex 3
Runtime Versions: Flash Player 9, AIR 1.1

Deprecated, use the appropriate destination instead, or if using a url, use DefaultHTTP or DefaultHTTPS. The deprecated behavior will simply update the destination if the default is being used.



Implementation
    public function set protocol(value:String):void

serviceName

property 
serviceName:String
Deprecated: Please Use destination



Implementation
    public function get serviceName():String
    public function set serviceName(value:String):void

showBusyCursor

property 
showBusyCursor:Boolean

Language Version: ActionScript 3.0
Product Version: Flex 3
Runtime Versions: Flash Player 9, AIR 1.1

If true, a busy cursor is displayed while a service is executing. The default value is false.



Implementation
    public function get showBusyCursor():Boolean
    public function set showBusyCursor(value:Boolean):void
Constructor Detail

WebService

()Constructor
public function WebService(destination:String = null)

Language Version: ActionScript 3.0
Product Version: Flex 3
Runtime Versions: Flash Player 9, AIR 1.1

Creates a new WebService component.

Parameters
destination:String (default = null) — The destination of the WebService, which should match a destination name in the services-config.xml file. If unspecified, the WebService component uses the DefaultHTTP destination.
Method Detail

getOperation

()method
override public function getOperation(name:String):AbstractOperation

Language Version: ActionScript 3.0
Product Version: Flex 3
Runtime Versions: Flash Player 9, AIR 1.1

Returns an Operation of the given name. If the Operation wasn't created beforehand, a new mx.rpc.soap.mxml.Operation is created during this call. Operations are usually accessible by simply naming them after the service variable (myService.someOperation), but if your Operation name happens to match a defined method on the service (like setCredentials), you can use this method to get the Operation instead.

Parameters

name:String — Name of the Operation.

Returns
AbstractOperation — Operation that executes for this name.

initialized

()method 
public function initialized(document:Object, id:String):void

Language Version: ActionScript 3.0
Product Version: Flex 3
Runtime Versions: Flash Player 9, AIR 1.1

Called automatically by the MXML compiler if the WebService is setup using a tag. If you create the WebService through ActionScript you may want to call this method yourself as it is useful for validating any arguments.

Parameters

document:Object — the MXML document on which this WebService lives
 
id:String — the id of this WebService within the document
WebServiceExample.mxml
<?xml version="1.0" encoding="utf-8"?>
<!-- Simple example to demonstrate the WebService tag. -->
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
     xmlns:s="library://ns.adobe.com/flex/spark" 
     xmlns:mx="library://ns.adobe.com/flex/mx">

    <!--  Make sure the Flex Data Services proxy-config.xml file contains 
          the following definition: 

        <destination id="DefaultHTTP">
            <properties>
                <dynamic-url>http://ws.invesbot.com</dynamic-url>
            </properties>
        </destination>
    -->

    <fx:Script>
        <![CDATA[
            import mx.controls.Alert;        
        ]]>    
    </fx:Script>

    <fx:Declarations>
        <mx:WebService id="WS" wsdl="http://ws.invesbot.com/stockquotes.asmx?WSDL"
            useProxy="true"
            fault="Alert.show(event.fault.faultString), 'Error'">
            <mx:operation name="GetQuote" resultFormat="object">
                <mx:request>
                    <symbol>{stockSymbol.text}</symbol>
                </mx:request>
            </mx:operation>
        </mx:WebService>
    </fx:Declarations>

    <mx:Panel title="WebService Example" height="75%" width="75%" 
        paddingTop="10" paddingBottom="10" paddingLeft="10" paddingRight="10">
    
        <mx:Label width="100%"  color="blue"
            text="Enter a stock symbol to obtain a quote."/>
    
        <mx:TextInput id="stockSymbol" text="ADBE"/>
        <mx:Button label="Get Quote" click="WS.GetQuote.send()"/>
    
        <mx:Text htmlText="Company: {WS.GetQuote.lastResult.GetQuoteResult.StockQuote.Company}"/>
        <mx:Text htmlText="Current price: ${WS.GetQuote.lastResult.GetQuoteResult.StockQuote.Price}"/>
    </mx:Panel>    
</s:Application>