今天手头没事,就学习下 Flex 调用webService的方法。本地测试OK 和大家分享下。
——————————————————————————————————————————————————————————
1.首先需要编写webService服务。(此处略)
2.Flex 中 新建一个 .mxml 文件
在 <fx:Declarations> 节点中编写以下内容:
1 <s:WebService id="myWeb" wsdl="http://localhost:8080/Demo/webService/demos?wsdl"> 2 <s:operation name="process" result="response(event)" fault="fault(event)" /> 3 </s:WebService>
代码说明:
<s:webService> : 标签使您可以访问与 SOAP 兼容的 Web 服务的操作
id : 后面的代码会用到此名称。通过此名称来调用webService服务
wsdl : 自己编写的webService发布的地址
<s:operation> : 调用webService中方法
name : 调用 webService 方法名称 必须和webService中定义的一致
result : 声明结果处理程序
fault : 声明错误处理程序
新建 <fx:Script> 节点 并插入以下内容:
1 <fx:Script> 2 <![CDATA[ 3 import mx.controls.Alert; 4 import mx.rpc.events.FaultEvent; 5 import mx.rpc.events.ResultEvent; 6 7 public function getOrderFun():void{ 8 myWeb.process.send(this.username.text); 9 } 10 11 public function response(e:ResultEvent):void{ 12 this.responseText.text = e.result.toString(); 13 } 14 15 public function fault(e:FaultEvent):void{ 16 Alert.show(e.message.toString()); 17 } 18 ]]> 19 </fx:Script>
代码说明:
命令按钮 通过 方法 getOrderFun 来调用webService
response 方法 是结果处理程序
fault 方法 是错误处理程序
编写 控件 代码 :
1 <s:Label text="输入内容" x="50" y="75" /> 2 <s:TextInput id="username" x="118" y="71" /> 3 <s:Button id="button" x="255" y="71" label="提交" click="getOrderFun()"/> 4 <s:TextInput id="responseText" x="118" y="117" /> 5 <s:Label text="结果信息" x="51" y="121" />
代码描述:
用户 通过在 文本框中输入数据 ,单击提交按钮后 ,在 responseText中 就可以显示 webService 提供的process 方法的返回值。
此时 Flex 调用 webService 成功。。
——————————————————————————————————————————————————————————————
注:
本程序中 调用的webService中的process 方法非常简单,定义如下
1 public String process(@WebParam(name = "testID") String testID);
实现也很简单 如下:
1 public String process(String ticketID) { 2 return ticketID + "webService 返回信息"; 3 }