flex与java通信二:webService
来源:互联网 发布:怎样在淘宝上买qq小号 编辑:程序博客网 时间:2024/06/16 03:22
flex与java通信的三种方式:
1.通过httpService:你访问一个xml或者servlet,然后flex接收返回的xml数据2.通过webService:你访问一个webService服务,然后获得文本信息3.通过RemoteObject:可以通过blazeds来访问远程service接口方法,Flex接收一个对象。
实例来自:http://bbs.9ria.com/thread-21455-1-1.html
1、首先熟悉一个现成的webservice:
一个天气预报的WebService服务WebService服务来自WebXML,免费,而且查询信息来自国家气象局,地址如下:
http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl
(关于这个服务详见:http://www.webxml.com.cn/WebServices/WeatherWebService.asmx)
该XML结构的WSDL文档的主要结构如下:
(关于该描述文档详见http://www.ibm.com/developerworks/cn/webservices/ws-wsdl/?S_TACT=105AGX52&S_CMP=cn-a-wes)
我们会调用此webservice(在mxml页面中定义一个mx:WebService)的getWeatherbyCityName(使用已定义mx:WebService的getWeatherbyCityName)方法:
2、试着通过浏览器直接调用该webservice提供的服务:
http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?op=getWeatherbyCityName
输入武汉得到结果:
This XML file does not appear to have any style information associated with it. The document tree is shown below.<ArrayOfString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://WebXml.com.cn/"><string>湖北</string><string>武汉</string><string>57494</string><string>57494.jpg</string><string>2014-1-4 21:16:40</string><string>4℃/15℃</string><string>1月5日 晴转多云</string><string>无持续风向微风</string><string>0.gif</string><string>1.gif</string><string>今日天气实况:气温:2℃;风向/风力:北风 0级;湿度:80%;空气质量:暂无;紫外线强度:中等</string><string>穿衣指数:冷,建议着棉衣加羊毛衫等冬季服装。 过敏指数:极不易发,无需担心过敏,可放心外出,享受生活。 运动指数:较适宜,气温较低,在户外运动请注意增减衣物。 洗车指数:较适宜,无雨且风力较小,易保持清洁度。 晾晒指数:基本适宜,天气不错,抓紧时机让衣物晒太阳吧。 旅游指数:适宜,天气较好,可尽情地享受大自然的风光。 路况指数:干燥,天气较好,路面比较干燥,路况较好。 舒适度指数:舒适,白天不冷不热,风力不大。 空气污染指数:暂无。 紫外线指数:中等,涂擦SPF大于15、PA+防晒护肤品。</string><string>4℃/12℃</string><string>1月6日 多云转小雨</string><string>无持续风向微风</string><string>1.gif</string><string>7.gif</string><string>1℃/8℃</string><string>1月7日 小雨</string><string>无持续风向微风</string><string>7.gif</string><string>7.gif</string><string>武汉市位于江汉平原东部,长江中游与长江、汉水交汇处。东经113°41′-115°05′,北纬29°58′-31°22′。武汉市地理位置优越,长江及其最大支流汉江交汇于此,将武汉市区天然分成汉口、汉阳和武昌三镇,武汉是我国水陆交通枢纽,控长江中游之咽喉,扼南北交通之要冲,素有“九省通衢”之称,现全市货运吞吐量达亿吨以上。优越的地理位置,成为历代兵家争夺的战略要地。三国时,武汉东湖附近曾是刘备、孙权、曹操进行军事、政治活动的场所,现在留下的有刘备郊天台、吴王庙、曹操庙、洪山宝塔等古建筑。武汉现已发展为中国中部地区工业、金融、商业、科学、文化教育中心。武汉市属亚热带湿润季风气候,雨量充沛、日照充足,四季分明。总体气候环境良好,近几年30年来,年均降雨量1269毫米,且多集中在6-8月。年均气温15.8℃-17.5℃,年无霜期一般为211天-272天,年日照总时数1810小时-2100小时。景观:武当山、长江三峡、神农架等。</string></ArrayOfString>
3、在flex程序中调用
主要语句:
a、定义:
<mx:WebService id="wsWeather" showBusyCursor="true" wsdl="http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl" fault="onFault(event)" result="onResult(event)"/>
b、调用:
wsWeather.getWeatherbyCityName("武汉");
<?xml version="1.0" encoding="utf-8"?><s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx"><fx:Script><![CDATA[import mx.controls.Alert;import mx.rpc.events.FaultEvent;import mx.rpc.events.ResultEvent;import mx.collections.ArrayCollection;private function onQuery():void{txtWeatherInfo.text ="";wsWeather.getWeatherbyCityName(CityName.text);}private function onFault(event:FaultEvent):void{Alert.show(event.message.toString(),"Fault");}private function onResult(event:ResultEvent):void{var acWeatherInfo:ArrayCollection = event.result as ArrayCollection;for(var i:uint=0;i<acWeatherInfo.length;i++){txtWeatherInfo.text += acWeatherInfo.getItemAt(i)+"\n";}} ]]></fx:Script><fx:Declarations><!-- 将非可视元素(例如服务、值对象)放在此处 --><mx:WebService id="wsWeather" showBusyCursor="true" wsdl="http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl" fault="onFault(event)" result="onResult(event)"/></fx:Declarations><s:VGroup><s:HGroup><s:Label text="城市"/><s:TextInput id="CityName"/><s:Button id="btnQuery" label="查询" click="onQuery()"/></s:HGroup><mx:TextArea editable="false" width="414" height="172" id="txtWeatherInfo"/></s:VGroup></s:WindowedApplication>完成!
代码:http://pan.baidu.com/share/link?shareid=2181616880&uk=3173173520
------------------------------------------------------------------分割线------------------------------------------------------------------
在使用了blazeds的场合,也可以在proxy-config.xml配置WebService要请求的wsdl地址,在程序中用“destination”映射关系来访问该URL
- flex与java通信二:webService
- Flex与WebService通信
- flex通过webservice的框架xfire与java通信
- FLEX与java WebService
- Java与Flex学习笔记(21)----Flex与Java通信方式之WebService
- java与flex通信
- Flex与java通信
- Flex与java通信
- Flex与.Net的WebService通信
- Flex与webservice的通信(一)
- Flex与Java通信 (一)
- Flex与java通信错误
- BlazeDS, Flex与Java通信
- java socket与 flex 通信
- blazeds flex与java通信
- Flex Socket与java通信
- Flex与Java通信 (一)
- Flex与Java通信 (一)
- SVN版本控制 标准目录结构
- Java中JNI的使用详解第六篇:C/C++中的引用类型和Id的缓存
- flex与java通信一:RemoteObject
- 手动装配Hadoop Cloudera CDH4.2版本
- 《C++ Primer》读书笔记之“指针和const限定符”
- flex与java通信二:webService
- flex与java通信三:httpService
- 《Java并发》:第二节 线程的生命周期
- c语言中所有文件操作函数详解fopen、fwrite、fread、fgetc、fputc、fscanf、fprintf、ftell、fseek等函数
- 叠筐
- 讲述MySQL基本语法
- 内存管理
- 灵芝孢子粉
- NoSQL数据库笔谈