用于 Adobe® Flash® Platform 的 ActionScript® 3.0 参考
主页  |  隐藏包列表和类列表 |   |   |  新增内容  |  索引  |  附录  |  为什么显示为英语?
过滤条件: 正在从服务器检索数据...
正在从服务器检索数据...
mx.rpc.soap.mxml 

WebService  - AS3 Flex

mx.rpc.soap.mxml
public dynamic class WebService
继承WebService Inheritance WebService Inheritance AbstractWebService Inheritance AbstractService Inheritance Proxy
实现 IMXMLSupport, IMXMLObject

语言版本: ActionScript 3.0
产品版本: Flex 3
运行时版本: Flash Player 9, AIR 1.1

<mx:WebService> 标签使您可以访问与 SOAP 兼容的 Web 服务的操作。

MXML 语法expanded隐藏 MXML 语法

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.

查看示例



公共属性
 属性由以下参数定义
 InheritedchannelSet : ChannelSet
提供对服务使用的 ChannelSet 的访问。
AbstractService
  concurrency : String
指示如何处理对同一服务的多个调用的值。
WebService
 InheritedconvertParametersHandler : Function
一个可选函数,主要供具有以下需要的框架开发人员使用:安装用传递给每个 webservice 操作调用的参数进行调用的函数。
AbstractWebService
 InheritedconvertResultHandler : Function
一个可选函数,主要供具有以下需要的框架开发人员使用:安装一个挂钩,以便在通知结果处理程序之前处理操作的结果。
AbstractWebService
 Inheriteddescription : String
当前活动端口的服务描述。
AbstractWebService
 Inheriteddestination : String
[覆盖] 服务的目标。
AbstractWebService
 InheritedendpointURI : String
WebService 的位置。
AbstractWebService
 Inheritedheaders : Array
[只读] 返回为 WebService 注册的 SOAPHeaders 数组。
AbstractWebService
 InheritedhttpHeaders : Object
发送到 SOAP 端点的自定义 HTTP 标头。
AbstractWebService
 InheritedmakeObjectsBindable : Boolean
当该置为 true 时,返回的匿名对象将强制成为可绑定的对象。
AbstractWebService
 Inheritedmanagers : Array
managers 属性存储修改此服务行为的数据管理器的列表。
AbstractService
 Inheritedoperations : Object
如果使用 MXML 标签创建服务,则操作数组通常仅由 MXML 编译器设置。
AbstractService
 Inheritedport : String
指定此 WebService 应使用的 WSDL 文档中的端口。
AbstractWebService
  protocol : String
不推荐使用: 请使用 channelSet
[只写] 不适合使用,请改用相应目标;或者如果使用 url,请使用 DefaultHTTP 或 DefaultHTTPS。
WebService
 Inheritedready : Boolean
[只读] 指定 WebService 是否准备好发送请求。
AbstractWebService
 InheritedrequestTimeout : int
提供对已发送消息的请求超时(以秒为单位)的访问。
AbstractService
 InheritedrootURL : String
WebService 在计算相对 URL 时应使用的 URL。
AbstractWebService
 Inheritedservice : String
指定此 WebService 应使用的 WSDL 文档中的服务。
AbstractWebService
  serviceName : String
不推荐使用: 请使用 destination
WebService
  showBusyCursor : Boolean
如果为 true,在执行服务时会显示忙状态光标。
WebService
 InheriteduseProxy : Boolean
指定是否使用 Flex 代理服务。
AbstractWebService
 Inheritedwsdl : String
此 WebService 的 WSDL 文档的位置。
WebService
 InheritedxmlSpecialCharsFilter : Function
用于在对任何简单内容编码之前转义 XML 特殊字符的自定义函数。
AbstractWebService
公共方法
 方法由以下参数定义
  
WebService(destination:String = null)
创建一个新的 WebService 组件。
WebService
 Inherited
添加将应用于此 Web 服务所有操作的标头。
AbstractWebService
 Inherited
addSimpleHeader(qnameLocal:String, qnameNamespace:String, headerName:String, headerValue:String):void
添加将应用于此 WebService 所有操作的标头。
AbstractWebService
 Inherited
返回一个布尔值,指示 WebService 是否准备好加载 WSDL(是否指定了有效的目标或 wsdl)。
WebService
 Inherited
清除应用于所有操作的标头。
AbstractWebService
 Inherited
断开此服务的网络连接并删除任何未处理的请求 responder。
AbstractService
 Inherited
getHeader(qname:QName, headerName:String = null):SOAPHeader
如果根据 QName、localName 和 URI 找到匹配项,则返回标头。
AbstractWebService
  
[覆盖] 返回给定名称的操作。
WebService
 Inherited
调用以初始化服务。
AbstractService
  
如果使用标签设置 WebService,则由 MXML 编译器自动调用。
WebService
 Inherited
loadWSDL(uri:String = null):void
指示 WebService 下载 WSDL 文档。
WebService
 Inherited
将用户从目标中注销。
AbstractService
 Inherited
removeHeader(qname:QName, headerName:String = null):void
从所有操作中删除具有给定 QName 的标头。
AbstractWebService
 Inherited
setCredentials(username:String, password:String, charset:String = null):void
当在服务器端使用 Data Services 时,为服务访问的目标设置凭据。
AbstractService
 Inherited
setRemoteCredentials(remoteUsername:String, remotePassword:String, charset:String = null):void
[覆盖] 在访问 webservice 时对用户进行身份验证的用户名和密码。
AbstractWebService
 Inherited
将 WebService 的实例表示为字符串,描述如目标 id 和所分配的通道集等重要属性。
WebService
受保护的方法
 方法由以下参数定义
 Inherited
初始化一个新的 Operation。
WebService
事件
 事件 摘要 由以下参数定义
 Inherited当服务调用失败并且操作自身不处理时,将调度 fault 事件。AbstractService
 Inherited当调用服务操作时,只要在通道尝试发送消息前没有引发错误,将调度 invoke 事件。AbstractService
 Inherited当已成功加载 WSDL 文档时调度 LoadEvent.LOAD。WebService
 Inherited当服务调用成功返回并且操作自身不处理时,将调度 result 事件。AbstractService
公共常量
 常量由以下参数定义
属性详细信息

concurrency

属性
concurrency:String

语言版本: ActionScript 3.0
产品版本: Flex 3
运行时版本: Flash Player 9, AIR 1.1

指示如何处理对同一服务的多个调用的值。默认值为 multiple。允许使用的值包括:

  • multiple — 不取消现有请求,由开发人员负责通过仔细管理事件流来确保返回数据的一致性。此为默认。
  • single — 每次只允许在此方法中发出一个请求;在有请求未处理时在客户端上发出的其它请求会立即出错,而不会发送给服务器。
  • last — 发出请求可导致客户端忽略任何当前未处理请求的结果或错误。仅在客户端上调度最新请求的结果或错误。这样可以简化客户端应用程序中的事件处理过程,但应该特别注意的是,只有在可以安全忽略请求的结果或错误时,才可使用此模式。



实现
    public function get concurrency():String
    public function set concurrency(value:String):void

protocol

属性 
protocol:String  [只写]
不推荐使用: 请使用 channelSet

语言版本: ActionScript 3.0
产品版本: Flex 3
运行时版本: Flash Player 9, AIR 1.1

不适合使用,请改用相应目标;或者如果使用 url,请使用 DefaultHTTPDefaultHTTPS。如果使用默认,则该不适合使用的行为将仅更新目标。



实现
    public function set protocol(value:String):void

serviceName

属性 
serviceName:String
不推荐使用: 请使用 destination



实现
    public function get serviceName():String
    public function set serviceName(value:String):void

showBusyCursor

属性 
showBusyCursor:Boolean

语言版本: ActionScript 3.0
产品版本: Flex 3
运行时版本: Flash Player 9, AIR 1.1

如果为 true,在执行服务时会显示忙状态光标。默认值为 false



实现
    public function get showBusyCursor():Boolean
    public function set showBusyCursor(value:Boolean):void
构造函数详细信息

WebService

()构造函数
public function WebService(destination:String = null)

语言版本: ActionScript 3.0
产品版本: Flex 3
运行时版本: Flash Player 9, AIR 1.1

创建一个新的 WebService 组件。

参数
destination:String (default = null) — WebService 的目标,应与 services-config.xml 文件中的目标名称匹配。如果未指定,则 WebService 组件使用 DefaultHTTP 目标。
方法详细信息

getOperation

()方法
override public function getOperation(name:String):AbstractOperation

语言版本: ActionScript 3.0
产品版本: Flex 3
运行时版本: Flash Player 9, AIR 1.1

返回给定名称的操作。如果之前没有创建该操作,则将在此调用过程中创建一个新的 mx.rpc.soap.mxml.Operation。通常只需在服务变量之后命名操作即可访问操作 (myService.someOperation),但如果 Operation 的名称恰好与服务上所定义的方法(如 setCredentials)相匹配,则可以改用此方法来获取 Operation。

参数

name:String — 操作的名称。

返回
AbstractOperation — 为此名称执行的操作。

initialized

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

语言版本: ActionScript 3.0
产品版本: Flex 3
运行时版本: Flash Player 9, AIR 1.1

如果使用标签设置 WebService,则由 MXML 编译器自动调用。如果通过 ActionScript 创建 WebService,则可能希望自行调用此方法(因为它对验证任何参数都非常有用)。

参数

document:Object — 此 WebService 所在的 MXML 文档
 
id:String — 此 WebService 在文档中的 ID

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>




[ X ]为什么显示为英语?
《ActionScript 3.0 参考》中的内容以英语显示

《ActionScript 3.0 参考》中的部分内容未翻译成所有语言。当某个语言元素未翻译时,将显示为英语。例如,ga.controls.HelpBox 类未翻译成任何语言。因此在简体中文版的参考中,ga.controls.HelpBox 类显示为英语。