Packagemx.rpc.soap.mxml
Classpublic dynamic class WebService
InheritanceWebService Inheritance WebService Inheritance AbstractWebService Inheritance AbstractService Inheritance flash.utils.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
 InheritedkeepLastResult : Boolean
Flag indicating whether the service's operations should keep their last call result for later access.
AbstractService
 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
Protected Properties
 PropertyDefined By
 Inherited_keepLastResult : Boolean = true
AbstractService
Public Methods
 MethodDefined By
  
WebService(destination:String = null)
Creates a new WebService component.
WebService
 Inherited
addHeader(header:Object):void
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
canLoadWSDL():Boolean
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
disconnect():void
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
initialize():void
Called to initialize the service.
AbstractService
  
initialized(document:Object, id:String):void
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
logout():void
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
toString():String
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
 InheritedDEFAULT_DESTINATION_HTTP : String = DefaultHTTP
[static]
WebService
 InheritedDEFAULT_DESTINATION_HTTPS : String = DefaultHTTPS
[static]
WebService
Property Detail
concurrencyproperty
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:


Implementation
    public function get concurrency():String
    public function set concurrency(value:String):void
protocolproperty 
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
serviceNameproperty 
serviceName:String
Deprecated: Please Use destination


Implementation
    public function get serviceName():String
    public function set serviceName(value:String):void
showBusyCursorproperty 
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

Examples
WebServiceExample.mxml
<?xml version="1.0" encoding="utf-8"?>
<!--

  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.

-->
<!-- 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>