- 浏览: 551670 次
- 性别:
- 来自: 上海
-
文章分类
最新评论
-
coosummer:
推荐使用http://buttoncssgenerator.c ...
【转载】CSS圆角按钮(一) -
saiarmuluo:
不错,支持。
java log4j日志 写入数据库 -
springdata_springmvc:
spring mvc demo教程源代码下载,地址:http: ...
Freemarker 使用 -
zlbdexiaohao:
棒棒的
flex ToolTip汇总 -
hw_128:
demo的代码的,能不能发一下,谢谢 qq257515270 ...
java log4j日志 写入数据库
进入主题先了解下wsdl文档提供的信息,在日常开发中,不可能手工分析wsdl的文档信息,绝大多数发完Web服务的组织都会提一份文档,描述需要发送的参数和将要收到内容,还会告诉使用者可以调用那些方法在flex开发总继承web服务很简单往往需要几行代码....但无论是那种方式都要配置发送的参数和处理要返回值的方法...这就需要我们略懂一些wsdl的文档中到底定义的那些内容,已定义的方法,可参数尤其是参数在flex定义中要用的
flex WebService 使用
flex WebService AsyncToken使用
flex WebService 使用
先过一遍wsdl提供的信息:
按照上图提示一步一步向上看
wsdl的文档详细讲解参见:
http://daoexception.iteye.com/blog/510122
1.flex mxml中使用webService
1.flex ActionScript中使用webService
flex WebService AsyncToken使用
Responder () 构造函数
public function Responder(result:Function, fault:Function)
使用指定的处理函数构造 responder 的实例。
参数 result:Function — 成功完成请求时应调用的函数。
fault:Function — 请求完成但出错时应调用的函数。
使用时:token.addResponder(myResponder);
详细参见代码:有wsdl方便测试
========wsdl中有targetNamespace的处理方式
对于wsdl中有 targetNamespace="http://service.ws.hmit.com">描述
java端处理使用org.apache.axis2的soap解析
调用时处理方法
String respXmlMessage = call(url,6000, "http://service.ws.hmit.com", "requestProcess", "xmlMessage", sendXml());
As端在webserver.load之前添加 处理带有命名空间的soap
ws.addSimpleHeader("header1", "http://service.ws.hmit.com", "foo","bar");
//关于webservice xfire 返回复杂对象
xfire支持返回List,map自定义JavaBean返回数据必须可以序列化和反序列化
如果返回的数据类型是自定义的javaBean,则需要声明webservice的数据返回类型
List和map类型不需要声明
需要返回的对象要求:、
1.必须实现Serializable,公共的构造函数
2.例如返回值是User则需要在webservice接口同目录下新建一个xml文件名称为:“接口名.aegis.xml”
<?xml version="1.0" encoding="UTF-8"?>
<mappings>
<mapping>
<method name="getUser">
<return-type componentType="com.object"/>
</method>
</mapping>
</mappings>
例如:
ITestService
package com.jz.services;
import java.util.List;
import com.jz.beans.User;
public interface ITestService {
public List<User> getUser(String user);
}
JavaBean:
package com.jz.beans;
import java.io.Serializable;
public class User implements Serializable{
private String name="";
public User() {
// TODO Auto-generated constructor stub
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
如果定义的接口中方法的返回值是自定义的JavaBean则需要声明webservice服务的返回值。例如返回值是User则需要在webservice接口同目录下新建一个xml文件名称为:“接口名.aegis.xml”,内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<mappings>
<mapping>
<method name="getUser">
<return-type componentType="com.jz.beans.User"/>
</method>
</mapping>
</mappings>
1. AsyncToken
2.WebService
flex 4 CallResponder
flex WebService 使用
flex WebService AsyncToken使用
flex WebService 使用
先过一遍wsdl提供的信息:

按照上图提示一步一步向上看
wsdl的文档详细讲解参见:
http://daoexception.iteye.com/blog/510122
1.flex mxml中使用webService

1.flex ActionScript中使用webService

flex WebService AsyncToken使用
Responder () 构造函数
public function Responder(result:Function, fault:Function)
使用指定的处理函数构造 responder 的实例。
参数 result:Function — 成功完成请求时应调用的函数。
fault:Function — 请求完成但出错时应调用的函数。
使用时:token.addResponder(myResponder);
<mx:Script> <![CDATA[ import mx.rpc.AsyncToken; import mx.rpc.Responder; import mx.rpc.events.ResultEvent; import mx.rpc.soap.LoadEvent; import mx.rpc.AbstractOperation; import mx.rpc.soap.WebService; import mx.rpc.events.FaultEvent; import mx.controls.Alert; import mx.rpc.soap.WebService; private var ws:WebService; private var responder:mx.rpc.Responder; private var wsdl:String="http://localhost:8989/WebServiceDemo/services/WebServiceDemo?wsdl"; private function initFunc():void { ws=new WebService(); ws.wsdl = wsdl; ws.requestTimeout = 300; if (ws.canLoadWSDL()) { ws.loadWSDL(); } var token:AsyncToken = ws.example(txtWord.text,null); var da:mx.rpc.Responder=new mx.rpc.Responder(Response_Result, Response_Fault); /** * var da:mx.rpc.Responder=new mx.rpc.Responder 当你读到这块时会认为 * new mx.rpc.Responder 是个多余的写法 简写成 var ...=new Responder... * 可是在flah.net.Responder 也有同样的类名而且是默认导入的....只能这样声明 * 不信可以试var da:mx.rpc.Responder=new Responder(Response_Result, Response_Fault); * 当光标放在 new Responder 提示的类型却是 flash.net.Responder.... **/ token.otherMessage = "myTestMethod Failed";//添加自定义属性 token.addResponder(da); } private function Response_Result(e:ResultEvent):void{ var resultStr:String; var otherMessage:String; ws.getOperation("example");//webservie有多个方法时时根据 getOperation()中的name参数获取对应的方法 resultStr=e.token.result.toString();// token result txtResult.text=resultStr; otherMessage=e.token.otherMessage;//获取自定义属性 Alert.show("Web Service AsyncToken result "+otherMessage,"success"); } private function Response_Fault(e:FaultEvent):void { Alert.show(e.fault.message,"Web Service Response Error"); } ]]> </mx:Script>

详细参见代码:有wsdl方便测试
========wsdl中有targetNamespace的处理方式
对于wsdl中有 targetNamespace="http://service.ws.hmit.com">描述
java端处理使用org.apache.axis2的soap解析
调用时处理方法
String respXmlMessage = call(url,6000, "http://service.ws.hmit.com", "requestProcess", "xmlMessage", sendXml());
As端在webserver.load之前添加 处理带有命名空间的soap
ws.addSimpleHeader("header1", "http://service.ws.hmit.com", "foo","bar");
//关于webservice xfire 返回复杂对象
xfire支持返回List,map自定义JavaBean返回数据必须可以序列化和反序列化
如果返回的数据类型是自定义的javaBean,则需要声明webservice的数据返回类型
List和map类型不需要声明
需要返回的对象要求:、
1.必须实现Serializable,公共的构造函数
2.例如返回值是User则需要在webservice接口同目录下新建一个xml文件名称为:“接口名.aegis.xml”
<?xml version="1.0" encoding="UTF-8"?>
<mappings>
<mapping>
<method name="getUser">
<return-type componentType="com.object"/>
</method>
</mapping>
</mappings>
例如:
ITestService
package com.jz.services;
import java.util.List;
import com.jz.beans.User;
public interface ITestService {
public List<User> getUser(String user);
}
JavaBean:
package com.jz.beans;
import java.io.Serializable;
public class User implements Serializable{
private String name="";
public User() {
// TODO Auto-generated constructor stub
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
如果定义的接口中方法的返回值是自定义的JavaBean则需要声明webservice服务的返回值。例如返回值是User则需要在webservice接口同目录下新建一个xml文件名称为:“接口名.aegis.xml”,内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<mappings>
<mapping>
<method name="getUser">
<return-type componentType="com.jz.beans.User"/>
</method>
</mapping>
</mappings>
1. AsyncToken
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="horizontal"> <mx:Script> <![CDATA[ import mx.rpc.events.FaultEvent; import mx.rpc.events.ResultEvent; import mx.rpc.AsyncToken; import mx.events.DateChooserEvent; private function scrollHandler(event:DateChooserEvent):void { var month:int = event.currentTarget.displayedMonth; var monthName:String = event.currentTarget.monthNames[month]; service.url = "xml/"+monthName+".xml"; var token:AsyncToken = service.send(); token.resultHandler = onResult; token.faultHandler = onFault; token.month = monthName; } private function onResult(event:ResultEvent):void { resultText.text = "MonthName: "+event.token.month+"\n\n"; resultText.text += "Result: "+event.result.data.month; } private function onFault(event:FaultEvent):void { resultText.text = event.fault.faultString; } ]]> </mx:Script> <mx:HTTPService id="service" result="event.token.resultHandler(event)" fault="event.token.faultHandler(event)"/> <mx:DateChooser id="dateChooser" scroll="scrollHandler(event)"/> <mx:TextArea id="resultText" width="300" height="200"/> </mx:Application>
2.WebService
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" width="400" height="300"> <mx:WebService id="userRequest" wsdl="http://localhost:8500/service/service?wsdl" load="callService()"> <mx:operation name="getRecipes" resultFormat="object" fault="createRecipeFault(event)" result="createRecipeHandler(event)"/> </mx:WebService> <mx:Script> <![CDATA[ import mx.rpc.events.FaultEvent; import mx.collections.ArrayCollection; import mx.rpc.events.ResultEvent; import mx.controls.Alert; private function callService():void { userRequest.getRecipes(); } private function createRecipeHandler(event:ResultEvent):void { var arrayCol:ArrayCollection = event.result as ArrayCollection; } private function createRecipeFault(event:FaultEvent):void { Alert.show(" error :: "+event.message); } ]]> </mx:Script> </mx:Application>
flex 4 CallResponder
<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" creationComplete="app_creationCompleteHandler(event)"> <fx:Script> <![CDATA[ // ActionScript file import mx.collections.ArrayCollection; import mx.controls.Alert import mx.events.FlexEvent; import mx.rpc.CallResponder; import mx.rpc.Fault; import mx.rpc.events.FaultEvent; import mx.rpc.events.ResultEvent; import mx.rpc.soap.LoadEvent; import mx.rpc.soap.WebService; private const wsdl:String = "http://localhost:8500/flex4bible/SoapService.cfc?wsdl"; [Bindable] private var contactData:ArrayCollection; private var service:WebService = new WebService(); private var responder:CallResponder = new CallResponder(); protected function app_creationCompleteHandler(event:FlexEvent):void { responder.addEventListener(ResultEvent.RESULT, resultHandler); responder.addEventListener(FaultEvent.FAULT, faultHandler); service.addEventListener(LoadEvent.LOAD, loadHandler); service.loadWSDL(wsdl); } protected function loadHandler(event:LoadEvent):void { responder.token = service.getAllContacts(); } protected function resultHandler(event:ResultEvent):void { contactData = event.result as ArrayCollection; } protected function faultHandler(event:FaultEvent):void { Alert.show(event.fault.faultString, event.fault.faultCode); } ]]> </fx:Script> <s:layout> <s:VerticalLayout horizontalAlign="center" paddingTop="20"/> </s:layout> <mx:DataGrid dataProvider="{contactData}"> <mx:columns> <mx:DataGridColumn dataField="firstname" headerText="First Name"/> <mx:DataGridColumn dataField="lastname" headerText="Last Name"/> </mx:columns> </mx:DataGrid> </s:Application>
发表评论
-
Flex4 模块 [转载]
2012-11-05 09:30 0使用flex4模块(1):传递数据到模块 在主程序与模块 ... -
Flex4 List改变了dataProvider,怎么锁定选中Item【转载】
2012-11-05 09:29 1114sfList.dataProvider = sfData; i ... -
解决flex嵌入字体导致文件过大的问题[转载]
2012-11-05 09:25 0众所周知,Flex嵌入字体 ... -
flex DataGrid 行列颜色设置
2012-05-06 20:00 9151群里一哥们问了个问题,就写了个这个demo DataGrid ... -
flex4 Spark DataGrid,title的字体居中
2012-03-20 21:23 6280【原创】flex4 Spark DataGrid,title的 ... -
flex4 Application backgroundImage
2012-03-10 15:13 2935群里一哥们问我 f4 设置 Application 的 bac ... -
flex 无法将“<mx:>”解析为组件执行.解决办法:
2012-03-09 16:34 8298flex项目导入早期版本 无法将“<mx:******& ... -
flex component 去掉点击加亮边框
2012-03-09 16:35 1101群里有人问我怎么去掉TextInput的文本框加亮。写下来 ... -
flex ProgressBar skin 修改
2012-03-09 16:36 2974f3的形式修改border: 其中 barSkin 是外边框 ... -
flex Draggable Flex Components
2012-03-08 20:38 1029Creating Resizable and Draggabl ... -
flex 3d云标签
2012-03-08 20:37 1631来自:http://downloads.wordpress.o ... -
AS html 形式超链接设置
2012-03-08 20:36 1651lbl.htmlText = " <b& ... -
flex IViewCursor 的应用
2012-03-08 20:35 1100IViewCursor 的应用 demo 效果图:可以上下 ... -
f4 spark 占位控件
2012-03-08 20:33 995halo的占位控件。<mx:Spacer width=& ... -
halo的grid DataGridColumn itemRenderer 混用 spark 组件
2012-03-03 14:20 1420halo的grid DataGridColumn itemRe ... -
flex DeferredInstanceFromFunction 使用
2012-03-02 21:54 1589flex DeferredInstanceFromFuncti ... -
flex ContextMenuItem 根据状态隐藏选项
2012-02-27 18:28 1391因群里一个群员的要求,写了这个demo,代码粗糙,根据一个控件 ... -
动态设置itemRenderer
2012-02-18 19:34 0<mx:TileList id="tl&quo ... -
【转】解决RemoteClass alias信息丢失
2012-02-18 19:15 800问题发生场景:flex程序中存在多个module都调用一个标记 ... -
flex tree icon
2012-02-14 19:53 33581.tree 改变每一项的 icon图标 <?xml ...
相关推荐
Flex WebService Demo是一个示例项目,它展示了如何在Adobe Flex应用程序中使用Web服务进行数据交互。Flex是一种基于ActionScript 3.0的开源框架,主要用于构建富互联网应用程序(RIA),而Web服务则允许不同应用...
在本教程中,“五分钟用Flex构建WebService应用”将带你快速掌握如何利用Flex与WebService进行数据交互,这对于开发动态、实时更新的Web应用至关重要。 WebService是一种基于Web的、平台无关的服务,它通过HTTP协议...
总之,Flex与WebService结合使用,能够创建高效、跨平台的文件上传和下载解决方案。理解并掌握这一技术,对于开发人员来说是非常有价值的,尤其是在构建企业级RIA应用时。通过深入学习和实践,你可以进一步提升在RIA...
首先,`标题`中的“Flex webservice數據交互”指的是使用Flex客户端通过Web服务接口与服务器进行数据交换,这里的Web服务通常是基于SOAP协议的。SOAP(Simple Object Access Protocol)是一种轻量级、基于XML的协议...
- **通过SOAP**:在Flex中,我们可以使用`mx.rpc.soap.*`包中的类来创建SOAP客户端,如`WebService`类。首先,我们需要定义一个接口,该接口对应于Web服务的WSDL(Web服务描述语言)文档中的操作。然后,我们可以...
4. **Flex客户端开发**:在Flex项目中,使用`RemoteObject`或`WebService`组件来调用后端的服务。`RemoteObject`更适用于AMF通信,而`WebService`则用于SOAP WebServices。通过这些组件,Flex可以方便地调用Spring中...
在Flex 3 beta2+XFire开发实例中,可能介绍了如何在Flex客户端与XFire服务之间建立连接,调用Web服务的方法。 7. **Flex组件和事件处理**:在调用Web服务的过程中,Flex的组件(如Form、Button等)和事件处理机制...
在本文中,我们将深入探讨如何使用Flex调用WebService来访问MSSQL数据库。Flex是一种用于构建富互联网应用程序(RIA)的开发框架,它允许开发者创建交互性强、用户体验丰富的Web应用。而WebService则是一种通过网络...
在本文中,我们将深入探讨如何使用Adobe Flex调用Web Service来开发一个天气预报服务。Flex是一种基于MXML和ActionScript的开源框架,用于构建富互联网应用程序(RIA)。它允许开发者创建交互性强、用户体验良好的...
1. **创建WebService代理**:在Flex工程中,使用wsdl2as3工具或者直接在.mxml文件中配置WebService组件,指定WebService的WSDL(Web Services Description Language)地址。这将自动生成与服务方法对应的...
1. **创建WebService**:在.NET环境中,创建一个WebService,定义需要暴露给Flex的方法。 2. **生成WSDL**:发布服务后,生成WSDL文件,这是描述服务接口和操作的XML文档。 3. **在Flex中添加服务引用**:在Flex项目...
Flex通过使用HTTPService或WebServices类来调用基于SOAP或RESTful协议的WebService。这两种方法都能实现Flex客户端与服务器端的数据交换,但SOAP通常用于复杂的、结构化的数据交换,而RESTful则更适合简单的数据获取...
4. **数据交互流程**:在Flex应用中,通常会创建一个HTTPService或WebService对象,配置其URL、方法和其他参数,然后定义一个事件监听器来处理返回的数据。当用户触发某个操作时,如点击按钮,服务会被调用,然后在...
1. 创建WebService连接:在Flex中,可以使用HTTPService或WebService组件来调用远程服务。HTTPService适用于RESTful API,而WebService则适用于SOAP服务。通过定义URL和方法,可以轻松地与远程服务器建立连接。 2. ...
在本项目“Flex调用Webservice实现天气预报”中,我们将探讨如何使用Flex作为客户端,通过调用Webservice接口来获取并显示实时的天气信息。这涉及到以下几个关键技术点: 1. **Flex中的HTTPService组件**:Flex提供...
3. **在Flex中使用WebService**:在Flex项目中,通过Flash Builder或其他IDE,开发者可以使用WSProxy类根据WSDL文件自动生成服务代理。这一步骤将.NET Webservice的方法映射为AS3.0的函数。 4. **调用Webservice**...
Flex+WebService登录示例 就是我以前看过的保存下来的网页,就1分别说我骗你~
Flex调用WebService是一种在富互联网应用程序(RIA)中与服务器端进行交互的常见技术。Flex是Adobe开发的一个开源框架,用于构建具有动态图形和交互性的RIA。而WebService是一种基于XML的标准化方式,允许不同系统...
在Flex前端,我们使用WebService组件连接到这个Web服务,并指定相应的wsdl地址。当用户点击按钮时,`GetEmployee`方法被调用,发送请求到Web服务。当服务返回结果时,`onResult`事件会被触发,展示返回的员工姓名。...
在Flex中,我们可以使用`mx.rpc.soap.WebService`类来创建一个Web服务的客户端实例。在提供的代码段中,首先在`useWebService`函数中创建了一个`WebService`对象,并设置了其`wsdl`属性,这个属性指定了Web服务的...