使用组件与WebService程序交互
2008-11-28 01:35
351 查看
如何使用<mx:WebService>组件
<mx:WebService>组件的使用方法与<mx:HTTPService>组件的使用方法大同小异。最主要的区别在于参数的传递方式。<mx:WebService>组件中传递参数的语法如下所示。<mx:WebService id=" WebService组件id"
wsdl="WebService地址">
<mx:operation name="方法名">
<mx:request>
<参数名1>值1</参数名1>
<参数名2>值2</参数名2>
…
</mx:request>
</mx:operation>
</mx:WebService>
(16)
<mx:operation>组件表示WebService的一个方法,必须与WebService中的定义名称相同。
(17)
<mx:request>组件存储参数,参数值以标签形式存储。需要注意的是参数的名称及顺序必须与WebService中的定义相同。
以下代码定义了一个<mx:WebService>组件。<mx:WebService>组件中包含带参的getMostPopularPosts方法。
<mx:WebService id="wsBlogAggr"
wsdl="http://weblogs.macromedia.com/mxna/webservices/mxna2.cfc?wsdl"
useProxy="false">
<mx:operation name="getMostPopularPosts">
<mx:request>
<daysBack>30</daysBack>
<limit>{cbxNumPosts.value}</limit>
</mx:request>
</mx:operation>
</mx:WebService>
本程序中limit参数值是动态的,绑定于下拉框组件cbxNumPosts上。
<mx:WebService>组件的方法也可不显性表示参数,只需调用方法时指明即可。
以下代码中<mx:WebService>组件不显性定义参数。
wsBlogAggr.getMostPopularPosts(30,cbxNumPosts.value).send();
…
<mx:WebService id="wsBlogAggr"
wsdl="http://weblogs.macromedia.com/mxna/webservices/mxna2.cfc?wsdl"
useProxy="false">
<mx:operation name="getMostPopularPosts"/>
</mx:WebService>
调用<mx:Webservice>组件中的方法的语法如下所示。
WebService变量.方法.send();
以下代码调用getMostPopularPosts方法。
wsBlogAggr.getMostPopularPosts.send();
<mx:operation>组件中的result事件用以处理返回数据。使用方法与<mx:HTTPService>组件相同。
以下代码调用地址为“http://www.wopos.com/webservice/Stock.asmx”的WebService服务并显示结果。
<?xml version="1.0" encoding="GB2312"?>
<mx:Applicationxmlns:mx="http://www.adobe.com/2006/mxml"layout="absolute"fontSize="13"creationComplete="wsStock.HelloWopos.send();">
<mx:Script>
<![CDATA[
import mx.rpc.events.ResultEvent;
//引用ResultEvent类
import mx.controls.Alert;
//引用Alert类
//HelloWopos方法返回数据时的处理函数
private function wsHandle(e:ResultEvent):void
{
lbl.text=e.result as String;
//显示返回数据
}
]]>
</mx:Script>
<mx:Panel title="使用WebService交互" horizontalAlign="center"
verticalAlign="middle" width="398" height="138">
<mx:Label id="lbl" textAlign="center" width="378"
height="24"/>
</mx:Panel>
<mx:WebService id="wsStock" showBusyCursor="true"
wsdl="http://www.wopos.com/webservice/Stock.asmx?wsdl"
fault="Alert.show(event.fault.faultString,
'Error')">
<mx:operation name="HelloWopos"
result="wsHandle(event);"/>
</mx:WebService>
</mx:Application>本程序在creationComplete事件,即初始化事件时调用WebService的方法。结果显示于Label组件上。
程序的运行效果如图21-14所示。
相关文章推荐
- Flex与服务器交互之三(使用WebService组件同服务器WebService通讯)
- Flex与服务器交互之三(使用WebService组件同服务器WebService通讯)
- [flex 4]使用组件与asp.net程序交互
- 微信小程序使用WebService(Asp.net)进行数据交互
- 微信小程序 —— web-view组件配置及使用
- 微信小程序例子——使用audio组件播放音乐
- 微信小程序例子——使用画布组件绘制一条长度为230px的水平直线
- 微信小程序 action-sheet组件的使用
- Linux使用Java将C++程序发布为webservice(wsdl)
- SilverLight浏览器交互之:使用SilverLight程序把外部Html页作为资源进行绘图(附源码)
- ASP.NET,C#.NET 通用权限系统组件源码使用说明,程序开发的尚方宝剑,程序架构标准参考,程序开发必备知识
- 使用JDIC与本机桌面程序交互
- 微信小程序-使用audio组件播放音乐
- 使用J2SE开发一个测试Xfire的webservice的简单程序
- 使用基于Http的消息代替WebService的数据交互
- Air程序中的HTML组件内外交互
- AspHTTP的组件的获取使用(小偷程序教学)
- 再一个 可以交互使用的程序 运行环境 linux 进程程序
- 使用CXF开发WebService程序的总结(二):创建webservice服务端
- 微信小程序radio组件使用详解