通过前面的介绍,大概应该知道怎么写webservice,怎么调用,接下是讲怎么使用webservice提供的服务.下面是一段代码,比较简单:
private void button1_Click(object sender, System.EventArgs e)
{
//localhost.Service1 a= new WindowsApplication1.localhost.Service1();
// a.HelloWorld();
//
// d.Url = "";
// d.GetSiteAData();
// d.HelloWorld();
//
string strSearch = "123";
ServiceA.Service1 a = new ServiceA.Service1();
ServiceB.Service1 b = new ServiceB.Service1();
IAsyncResult ar1;
IAsyncResult ar2;
DataSet ds=new DataSet();
XmlNode xmlNode1,xmlNode2;
XmlDataDocument xd=new XmlDataDocument();
StringBuilder xmlString1,xmlString2;
//--简单的异步调用
ar1=a.BeginGetSiteAData(strSearch,null,null);
ar2=b.BeginGetSiteAData(strSearch,null,null);
xmlNode1=a.EndGetSiteAData(ar1);
xmlNode2=b.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(""))
return ;
xd.LoadXml(xmlString1.ToString());
ds.ReadXml(new XmlNodeReader(xd));
dataGrid1.DataSource=ds.Tables[0]
}
//生成新XML
public StringBuilder MakeNewXmlString(StringBuilder str1,StringBuilder str2)
{
str1=str1.Replace("","");
str2=str2.Replace("","");
str1.Append(str2.ToString());
return str1;
}
{
//localhost.Service1 a= new WindowsApplication1.localhost.Service1();
// a.HelloWorld();
//
// d.Url = "";
// d.GetSiteAData();
// d.HelloWorld();
//
string strSearch = "123";
ServiceA.Service1 a = new ServiceA.Service1();
ServiceB.Service1 b = new ServiceB.Service1();
IAsyncResult ar1;
IAsyncResult ar2;
DataSet ds=new DataSet();
XmlNode xmlNode1,xmlNode2;
XmlDataDocument xd=new XmlDataDocument();
StringBuilder xmlString1,xmlString2;
//--简单的异步调用
ar1=a.BeginGetSiteAData(strSearch,null,null);
ar2=b.BeginGetSiteAData(strSearch,null,null);
xmlNode1=a.EndGetSiteAData(ar1);
xmlNode2=b.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(""))
return ;
xd.LoadXml(xmlString1.ToString());
ds.ReadXml(new XmlNodeReader(xd));
dataGrid1.DataSource=ds.Tables[0]
}
//生成新XML
public StringBuilder MakeNewXmlString(StringBuilder str1,StringBuilder str2)
{
str1=str1.Replace("","");
str2=str2.Replace("","");
str1.Append(str2.ToString());
return str1;
}
这段代码是在windows应用程序里运行的,如果是asp.net应用程序的话要改个地方:
dataGrid1.DataSource=ds.Tables[0];后面加上dataGrid1.DataBand();