zoukankan      html  css  js  c++  java
  • 使用WebService

    WebService返回String
    WebServiceTest.mxml
    <?xml version="1.0" encoding="utf-8"?>
    <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" creationComplete="wsBlogAggr.Readxml.send()">
        
    <mx:Script>
            
    <![CDATA[
                import mx.rpc.events.ResultEvent;    
                import mx.controls.Alert;
                
                public function wsHandle(e:ResultEvent):void
                {
                    ddd.text = e.result as String;
                }
            
    ]]>
        
    </mx:Script>
        
    <mx:Label text="Label" id="ddd" fontSize="12"/>
        
    <mx:WebService id="wsBlogAggr" wsdl="http://localhost:2250/flex%203.0%20asp.net%20test/WebServiceTest.asmx?wsdl" useProxy="false">
        
    <mx:operation name="Readxml" result="wsHandle(event);" fault="Alert.show(event.fault.faultString,'Error')" />
        
    </mx:WebService>
    </mx:Application>

    ActiveWebService.mxml,使用动态创建WebService组件方法调用WebService。必须调用loadwsdl方法下载ws说明文件,否则即使调用webservice的方法也是没有反应的。如果WebService方法要求提供参数,可在send()中加上,如send("新闻表",2)

    <?xml version="1.0" encoding="utf-8"?>
    <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" creationComplete="AvitHandle()">
        
    <mx:Script>
            
    <![CDATA[
                import mx.rpc.events.FaultEvent;
                import mx.rpc.soap.WebService;
                import mx.rpc.events.ResultEvent;    
                import mx.controls.Alert;
                
                
    public function AvitHandle():void
                {
                    var web:WebService 
    = new WebService();
                    web.wsdl 
    = "http://localhost:2250/flex%203.0%20asp.net%20test/WebServiceTest.asmx?wsdl";
                    
    //必须调用loadwsdl方法下载ws说明文件,否则即使调用webservice的方法也是没有反应的
                    web.loadWSDL();
                    
    //添加成功调用侦听
                    web.addEventListener(ResultEvent.RESULT,wsHandle);
                    
    //添加错误调用侦听
                    web.addEventListener(FaultEvent.FAULT, fault);
                    web.Readxml.send();
                }
                
                
    //成功调用处理函数
                public function wsHandle(e:ResultEvent):void
                {
                    ddd.text 
    = e.result as String;
                }
                
                
    //错误处理函数
                public function fault(e:FaultEvent):void
                {
                    Alert.show(e.fault.faultString,
    'Error')
                }
            ]]
    >
        
    </mx:Script>
        
    <mx:Label text="Label" id="ddd" fontSize="12"/>
    </mx:Application>



    ServiceTest.asmx

    using System;
    using System.Web;
    using System.Collections;
    using System.Web.Services;
    using System.Web.Services.Protocols;

    using System.Xml;


    /// <summary>
    /// WebServiceTest 的摘要说明
    /// </summary>
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo 
    = WsiProfiles.BasicProfile1_1)]
    public class WebServiceTest : System.Web.Services.WebService {

        
    public WebServiceTest () {

            
    //如果使用设计的组件,请取消注释以下行 
            
    //InitializeComponent(); 
        }

        [WebMethod]
        
    public String Readxml()
        {
            
    return "你还好吗?";
        }
        
    }

    使用WebService返回xml格式字符串,供tree组件使用。注意,tree组件要使用<node label="Mail">,属性的方法定义,而不是字段。xml可以嵌套,tree组件自动解析。
    eem.mxml
    <?xml version="1.0" encoding="utf-8"?>
    <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" creationComplete="AvitHandle()">
        
    <mx:Script>
            
    <![CDATA[
                import mx.rpc.events.FaultEvent;
                import mx.rpc.soap.WebService;
                import mx.rpc.events.ResultEvent;    
                import mx.controls.Alert;
                
                
    public function AvitHandle():void
                {
                    var web:WebService 
    = new WebService();
                    web.wsdl 
    = "http://localhost:2250/flex%203.0%20asp.net%20test/WebServiceTest.asmx?wsdl";
                    
    //必须调用loadwsdl方法下载ws说明文件,否则即使调用webservice的方法也是没有反应的
                    web.loadWSDL();
                    
    //添加成功调用侦听
                    web.addEventListener(ResultEvent.RESULT,wsHandle);
                    
    //添加错误调用侦听
                    web.addEventListener(FaultEvent.FAULT, fault);
                    web.Readxml2.send();
                }
                
                
    //成功调用处理函数
                public function wsHandle(e:ResultEvent):void
                {
                    ddd.text 
    = e.result as String;    
                    var menus:XML 
    = XML(e.result as String);
                    var results:XMLList 
    = menus.node;
                    tree.dataProvider 
    = results;
                }
                
                
    //错误处理函数
                public function fault(e:FaultEvent):void
                {
                    Alert.show(e.fault.faultString,
    'Error')
                }
            ]]
    >
        
    </mx:Script>
        
    <mx:Label text="Label" id="ddd" fontSize="12"/>
        
    <mx:Tree id="tree" width="218" height="397" labelField="@label"></mx:Tree>
    </mx:Application>

    Webservice方法源代码
        [WebMethod]
        
    public string Readxml2()
        
    {
            
    string str;
            str 
    = "<?xml version=\"1.0\" encoding=\"utf-8\" ?>";
            str 
    += "<menus>";

            str 
    += "<node label=\"Mail\">";
            str 
    += "<node label=\"Inbox\" />";
            str 
    += "<node label=\"Calendar\" />";
            str 
    += "</node>";

            str 
    += "<node label=\"China\">";
            str 
    += "<node label=\"guangxi\" />";
            str 
    += "<node label=\"beijing\" />";
            str 
    += "</node>";

            str 
    += "</menus>";

            
    return str;
        }
  • 相关阅读:
    python爬虫简单实现,并在java中调用python脚本,将数据保存在json文件中
    封闭类
    对象的复制和数据类成员的解构
    数据类
    Git 标签
    Git 查看提交历史
    [精]Oracle APEX 5.0 入门教程(一) Form表单
    UISearchbar去除背景色的方法,适合iOS5/6/7/8.0beta
    哈希表——线性探測法、链地址法、查找成功、查找不成功的平均长度
    《Android源代码设计模式解析与实战》读书笔记(二十一)
  • 原文地址:https://www.cnblogs.com/timy/p/1231588.html
Copyright © 2011-2022 走看看