RPC组件

来源:互联网 发布:婚庆公司源码 编辑:程序博客网 时间:2024/04/29 15:02

HTTPService:

使用 HTTPService 类可表示 ActionScript 中的 HTTPService 对象。当调用 HTTPService 对象的 send() 方法时,将发出对指定 URL 的 HTTP 请求,并且返回 HTTP 响应。可以选择向指定 URL 传递参数。如果没有使用基于服务器的代理服务,则只能使用 HTTP GET 或 POST 方法。如果将 useProxy 属性设置为 true 并使用基于服务器的代理服务,则还可以使用 HTTP HEAD、OPTIONS、TRACE 和 DELETE 方法。

HTTPMultiService(SDK 3.4):

可以使用 <mx:HTTPMultiService> 标记表示一个 http 操作集合。每个标记都具有 URL、方法、参数和返回类型。

可以设置属性(如 HTTPMultiService 标记上的 URL 和方法)来充当在每个单独的操作标记上设置的值的默认值。HTTPMultiService 的 URL 充当在 http 操作标记上设置的任何相对 url 的基本 url(即前缀)。每个 HTTP 操作都包含一个 send() 方法,用于将 HTTP 请求发送给指定的 URL 并返回 HTTP 响应。

可以将用于将数据放入 HTTP 请求的参数传递给指定 URL。contentType 属性指定一个 MIME 类型,此类型用于确定在网络中传输的数据格式(例如 HTTP 表单编码或 XML)。

也可以使用序列化过滤器实现自定义 resultFormat(例如 JSON)。如果没有使用基于服务器的代理服务,则只能使用 HTTP GET 或 POST 方法。如果将 useProxy 属性设置为 true 并使用基于服务器的代理服务,则还可以使用 HTTP HEAD、OPTIONS、TRACE 和 DELETE 方法。

注意:与 HTTPService 类不同,HTTPMultiService 类不定义 request 属性。

注意:与 HTTPService 一样,由于软件限制,当使用 GET 而不使用代理时,HTTPMultiService 不会生成用户友好的错误消息。

<mx:HTTPMultiService id="srv" baseURL="http://localhost/">      <mx:HTTPOperation id="srvGetPerson"              name="getPerson" url="person.cfm"              method="POST"              result="onGetPersonResult(event)"              fault="onGetPersonFault(event)">      <mx:argumentNames>        <mx:String>firstName</mx:String>        <mx:String>lastName</mx:String>      </mx:argumentNames>    </mx:HTTPOperation>      <mx:HTTPOperation id="srvSavePerson"              name="savePerson" url="person.cfm"              method="POST"              result="onSavePersonResult(event)"              fault="onSavePersonFault(event)">      <mx:argumentNames>        <mx:String>firstName</mx:String>        <mx:String>lastName</mx:String>        <mx:String>age</mx:String>        <mx:String>gender</mx:String>      </mx:argumentNames>    </mx:HTTPOperation>    </mx:HTTPMultiService>  

var at1:AsyncToken = srvGetPerson.send("Taro", "Yamada");   var at2:AsyncToken = srvSavePerson.send("Taro", "Yamada", 35, "m");

HTTPService/WebService/RemoteObject既是定义类又是执行类,而现在HTTPService/WebService/RemoteObject只是定义类,执行类被分成了不同的“操作类”。

mx.rpc.http.Operation 类是在MXML里面的 mx:HTTPOperation
mx.rpc.soap.Operation 类是在MXML里面的 mx:WebServiceOperation
mx.rpc.http.Operation类是在MXML里面的 mx:RemoteObjectOperation

<mx:RemoteObject id="ro">    <mx:RemoteObjectOperation id="aaa" name="getAAA">      <mx:arguments>      </mx:arguments>    </mx:RemoteObjectOperation>  </mx:RemoteObject>    <mx:WebService id="ws">    <mx:WebServiceOperation id="bbb" name="getBBB">      <mx:arguments>      </mx:arguments>    </mx:WebServiceOperation>  </mx:WebService>  
WebSerivce:
WebService 类提供对远程服务器上基于 SOAP 的 Web 服务的访问。

RemoteObject :

RemoteObject 类使您可以访问远程应用程序服务器上的类。