码迷,mamicode.com
首页 > Web开发 > 详细

flex 访问webservice方法及跨域问题解决

时间:2015-11-09 09:23:13      阅读:335      评论:0      收藏:0      [点我收藏+]

标签:

一、flex调用webserivice代码

import mx.rpc.soap.WebService;

import mx.rpc.events.FaultEvent;

  import mx.rpc.events.ResultEvent;

private var webService:WebService; 
            protected function getWebService():void { 
                var ws:WebService = new WebService();   
                //ws.wsdl= "http://localhost:9999/wsServerExample?wsdl"//java
                ws.wsdl = "http://192.168.179.14:8082/WebServiceTest/WebServiceHelloPort?wsdl";//java
                //ws.wsdl = "http://192.168.179.254/ConvertFeaturesToJson/ConvertService.asmx?wsdl";//.net
                //ws.useProxy = true;
                ws.addEventListener(ResultEvent.RESULT,resultFunction);//增加返回结果的监听   
                ws.addEventListener(FaultEvent.FAULT,onFault);
                //ws.getOperation("getGreeting").send("ok"); 
                ws.getOperation("SayHello").send("from sun");//SayHello为调用的方法名,from sun为传递进去的字字符串参数
                //ws.getOperation("Hello").send("ok"); 
                ws.loadWSDL();
            }   
                                                    
            private function onFault(e:FaultEvent):void  {  
                trace(e.message);
                //给用警告,偷懒不愿debug的时候这么来  
                Alert.show("未能连接到WebService,请检查网络!","错误");  
            }  
            
            private function resultFunction(event:ResultEvent):void{   
                var s:String = event.result as String;   
                Alert.show(s,"返回结果");   
            }

二、策略文件(crossdomain.xml)内容

<?xml version="1.0" encoding="UTF-8"?>  
<!DOCTYPE cross-domain-policy SYSTEM   
    "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd" >  
<cross-domain-policy>  
   <site-control permitted-cross-domain-policies="all" />  
   <allow-access-from domain="*" />  
   <allow-http-request-headers-from domain="*" headers="*"/>  
</cross-domain-policy>

记住对于Flash Player 9而言,crossdomain.xml文件内容出现了较大的变化<allow-http-request-headers-from domain="*" headers="*"/>  这个tag不可以少,否则访问webservice会报错。

tomcat中将crossdomain.xml文件放到ROOT根目录下。

iis中将crossdomain.xml文件放到wwwroot根目录下。

flex 访问webservice方法及跨域问题解决

标签:

原文地址:http://www.cnblogs.com/aegisada/p/4948993.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!