zoukankan      html  css  js  c++  java
  • 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根目录下。

  • 相关阅读:
    windows 运行hadoop的WordCount报nativeio.NativeIO$Windows.createDirectoryWithMode0(Ljava/lang/String;I)
    java对象比较==和equals的区别
    java poi处理excel多sheet并实现排序
    hadoop-eclipse插件编译及windows下运行wordcount项目
    hadoop动态添加删除节点datanode及恢复
    hadoop的client搭建-即集群外主机访问hadoop
    appium+python,app自动化测试框架
    [adb]查看 App的appPackage和appActivity
    Django基础(二)
    JavaScript、Dom和jQuery
  • 原文地址:https://www.cnblogs.com/aegisada/p/4948993.html
Copyright © 2011-2022 走看看