Xml WebService完全实例解析(全)

添加人:iyond七级(3513分)   添加时间:2007-05-21    阅读次数:10455  收藏此教程

     接上一页,我们先简单说明下绑定函数.首先实例化ServiceA,这个和一般类的实例化并没有不同..接下来用xmlNode1来接受函数的返回值,接下来是构造xml,并将其转化为dataset,这是通用的方法,如果是刚接触不久的朋友,最好能记下这种方法.

      接下来给出异步调用两个服务的代码

//绑定数据
public void BindData()
{
    IAsyncResult ar1;
    IAsyncResult ar2;
    serviceA = new SiteA.Service1();
    serviceB = new SiteB.Service1();
    DataSet ds = new DataSet();
    XmlNode xmlNode1, xmlNode2;
    XmlDataDocument xd = new XmlDataDocument();
    StringBuilder xmlString1, xmlString2;
    //--简单的异步调用
    ar1 = serviceA.BeginGetSiteAData(strSearch, null, null);
    ar2 = serviceB.BeginGetSiteAData(strSearch, null, null);
    xmlNode1 = serviceA.EndGetSiteAData(ar1);
    xmlNode2 = serviceB.EndGetSiteAData(ar2);
    //----------
    if (xmlNode1 == null && xmlNode2 == null) //--存储过程执行失败
        return;

    xmlString1 = new StringBuilder(xmlNode1.OuterXml);
    xmlString2 = new StringBuilder(xmlNode2.OuterXml);
    xmlString1 = MakeNewXmlString(xmlString1, xmlString2); //生成新的xml
    if (xmlString1.ToString().Equals("<NewDataSet xmlns=\"\"></NewDataSet>"))
        return;
    xd.LoadXml(xmlString1.ToString());
    ds.ReadXml(new XmlNodeReader(xd));
    DataGrid1.DataSource = ds.Tables["list"].DefaultView;
    DataGrid1.DataBind();
}

//生成新XML
public StringBuilder MakeNewXmlString(StringBuilder str1, StringBuilder str2)
{
    str1 = str1.Replace("</NewDataSet>", "");
    str2 = str2.Replace("<NewDataSet xmlns=\"\">", "");
    str1.Append(str2.ToString());
    return str1;
}

    这有两个需要注意的地方,一个是xml构造,还有就是异步调用的实现,请读者,自己理解

    下面讲下通过dll来引用webservice的方法,我只把流程介绍下.

    首先,在ie输入服务的地址,如:http://www.xxx.com/service.asmx

   然后写输入http://www.xxx.com/service.asmx?wsdl

   打开后,另存为xxx.wsdl

   然后用vs的命令提示符来编译:wsdl /namespace:SiteA ServiceA.wsdl

  生成名字空间为sitea的代理类

  最后csc /out:ServiceA.dll /t:library Service1.cs ,其中service1.cs为代理类文件

 最后引用dll就可以了.

  到这里,我们的例子基本也就介绍完了,由于个人的原因,最后一篇可能写的比较仓促,非常惭愧.

  不知道写这么多,对学习中的朋友会不会有帮助,里面的东西,很多也算是个人理解,如果出错,还请各位海涵:)

4页 第4上一页1234下一页
相关的教程: Web Service
收藏此教程

当前平均分: 1.7(3 次打分)

-5-4-3-2-1012345
评论主题
您的大名
您的评论
验证码 点击换一个验证码
知识库搜索: