Xml WebService完全实例解析(四)
来源:互联网 发布:php数组拼接成字符串 编辑:程序博客网 时间:2024/05/08 12:29
接上篇文章,我们先简单说明下绑定函数.首先实例化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就可以了.
到这里,我们的例子基本也就介绍完了,由于个人的原因,最后一篇可能写的比较仓促,非常惭愧.
不知道写这么多,对学习中的朋友会不会有帮助,里面的东西,很多也算是个人理解,如果出错,还请各位海涵:)
- Xml WebService完全实例解析(四)
- Xml WebService完全实例解析(四)
- Xml WebService完全实例解析(四)
- Xml WebService完全实例解析(四)
- Xml WebService完全实例解析(四)
- Xml WebService完全实例解析(四)
- Xml WebService完全实例解析(四)
- Xml WebService完全实例解析
- Xml WebService完全实例解析
- Xml WebService完全实例解析
- Xml WebService完全实例解析
- Xml WebService完全实例解析
- Xml WebService完全实例解析
- Xml WebService完全实例解析(一)
- Xml WebService完全实例解析(二)
- Xml WebService完全实例解析(三)
- Xml WebService完全实例解析(一)
- Xml WebService完全实例解析(二)
- 类加载器的收获
- Xml WebService完全实例解析(二)
- 什么是Bugzilla
- 系统管理模块数据库设计
- Xml WebService完全实例解析(三)
- Xml WebService完全实例解析(四)
- ASP.NET2.0下含有DropDownList的GridView编辑、删除的完整例子
- Eclipse+MyEclipse的配置
- SQL server 中的作业信息查询
- 构建动态的 Java 应用程序
- 暑假到了,开始读书学C++吧
- Linux下配置apache2+mod_jk1.2.x+Jboss4.0.x
- ASP.NET程序的克星--Reflector
- Reflector保护方法初探