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


    一、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根目录下。

  • 相关阅读:
    开机画面自己定制方法
    【转】ipc$入侵详解之终极解惑篇
    【转】动态嵌入式dll木马清除方法
    ZT:让手机使用更顺畅 PPC系统注册表修改大全(4)
    Ubuntu下用Opera不能用中文输入的解决
    Ubuntu 8 下使用vmware server 1.0.8的几个要领
    MSSQL数据库自动同步
    在Ubuntu上安装PCMCIA接口CDMA上网卡的调试笔记(ZT)
    %0 的作用
    oracle自动imp脚本
  • 原文地址:https://www.cnblogs.com/aegisada/p/4948993.html
Copyright © 2020-2023  润新知