服务端利用Axis2.x发布WebService,客户端Flex4访问
一、准备工作 import java.util.Random; public class HelloWorldService { public String sayHello(String name) { return name + " say: hello [axis2]"; } public int getAge(int i) { return i + new Random().nextInt(100); } } 二、Flex4客户端 ?这个客户端是我自己摸索着写出来的,我对于java端返回的数据在flex中显示有些不明白,比如从java代码可以看出,getAge方法返回的是int类的数据,我在flex中将定义返回的数据类型是number类型,而我又需要在Labe上显示,Label的text属性是String类型,所以我就在Label显示的时候将Number进行了.toString()转换。 在Flex4中新建一个flex项目,取名AxisClient,在主程序文件AxisClient.mxml中输入如下代码: <?xml version="1.0" encoding="utf-8"?> <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" minWidth="955" minHeight="600" pageTitle="AxisClient01"> <fx:Script> <![CDATA[ import mx.controls.Alert; import mx.rpc.events.FaultEvent; import mx.rpc.events.ResultEvent; [Bindable] private var mName:String; [Bindable] private var mAge:Number; private function operation1_resultHandler(event:ResultEvent):void { // TODO Auto-generated method stub mName = axisclient01.sayHello.lastResult; } protected function operation1_faultHandler(event:FaultEvent):void { // TODO Auto-generated method stub Alert.show(event.fault.message,"提示"); } protected function operation2_resultHandler(event:ResultEvent):void { // TODO Auto-generated method stub mAge = axisclient01.getAge.lastResult; //mAge = event.result as String; } protected function button1_clickHandler(event:MouseEvent):void { // TODO Auto-generated method stub //axisclient01.sayHello.send(); axisclient01.getAge.send(); //sayhello.text = mName; //getage.text = mAge; } ]]> </fx:Script> <fx:Declarations> <!-- 将非可视元素(例如服务、值对象)放在此处 --> <s:WebService id="axisclient01" wsdl="http://localhost:8080/axis2/services/HelloWorldService?wsdl"> <s:operation name="sayHello" result="operation1_resultHandler(event)" fault="operation1_faultHandler(event)"> <s:request xmlns=""> <name>{Name.text}</name> </s:request> </s:operation> <s:operation name="getAge" result="operation2_resultHandler(event)" fault="operation1_faultHandler(event)"> <s:request xmlns=""> <i>{age.text}</i> </s:request> </s:operation> </s:WebService> </fx:Declarations> <s:Form id="formid" x="205" y="60" width="323" height="240" backgroundAlpha="0.5" backgroundColor="#ED1818" contentBackgroundColor="#F5E4E4" fontSize="15"> <s:Label text="姓名:"/> <s:TextInput id="Name"/> <s:Label text="年龄:"/> <s:TextInput id="age"/> <s:Button click="button1_clickHandler(event)" label="Click"/> <s:Label text="这是从webservice端返回的数据哦"/> <s:Label id="sayhello" text="{mName}"/> <s:Label id="getage" text="{mAge.toString()}"/> </s:Form> </s:Application> 运行之后有些问题:在function button1_clickHandler中,定义的分别显示sayHello和getAge返回的数据显示,在点击按钮之后只能一次显示一个,奇怪,我不知道为什么,请知道的留个信儿,谢谢了。 未完待续,明再来补完整 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- shell – 由–stdin的echo smbpasswd不起作用
- bootstrap中利用Tag实现多个div的上下页切换
- 20.5 Shell脚本中的逻辑判断;20.6 文件目录属性判断;20.7
- bash – 通过sudo – 环境变量从另一个shell脚本调用shell脚
- 设置默认的vim文件类型以进行语法突出显示
- AngularJS – 如何在ng-Repeat中引用属性名称
- java – docker jboss7 war commit.服务器启动以不可恢复
- 斯卡拉.有没有办法选择自我类型的超级方法实现?
- Scala的内部类和Java的内部/嵌套类之间有什么区别?
- bash – 如何排序du -h输出?