FLEX与HttpService通信

 

FLEX中调用HttpService的方法有两种

第一种是简单应用,适用于传递简单参数或者不带参,如调用远程XML文件,用MXML标签,如

<mx:HTTPService
   id="myHttpService"
   result="myResult(event)"
   fault="myFault(event)"
   method="POST"
   url="http://127.0.0.1:8080/httpService/httpservcie.do ">
  <mx:request xmlns="">
   <userName>-***</userName>
   <userPwd>***</userPwd>
  </mx:request>
 </mx:HTTPService>

需要注意的是必须定义id,result,和method(xml除外),request中传递参数。最后在as中调用不带参的send方法发送请求

myHttpService.send();在 myResult(event)中对返回的结果进行处理

返回的是一个ResultEvent类

  private function myResult(event:ResultEvent){
    var msg = event.result.toString();
    Alert.show(msg);
   }

Java端serveerlet代码

在介绍第二种方法:改写httpservice类,这里直接参考郑老大的代码

 

 

主要是对map进行封装,传进调用的服务名和方法名。

接下来最关键的一步就是封装参数,把Bean转化为XML

VBean2XML.doConvert(key,params[key]);

再将XML转化为XMLString,赋到参数属性上

map[key] = arg.toXMLString();

最后调用带参数的send方法发送请求

hs.send(map);。

在接收方面

事先规定接收数据类型,报错的处理,和接收数据的处理

                hs.resultFormat = HTTPService.RESULT_FORMAT_XML;
               
                //var paramsXML:XML = buildXMLMessageBody(method,params);
                hs.addEventListener(FaultEvent.FAULT,faultHandler);
                hs.addEventListener(ResultEvent.RESULT,callBackFunction);

 

把所取得的XML转化为Bean。

JAVA端代码

阅读更多
个人分类: RPC
想对作者说点什么? 我来说一句

flex与httpService通信(java)

2008年10月24日 789B 下载

没有更多推荐了,返回首页

不良信息举报

FLEX与HttpService通信

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭