动态及静态调用Web References即WebService,并且读取其中的XML数据
1、 如果是静态调用WebService的话,必须先引用WebService。
2、 实例化WebService如下:
RpService.RpService rpService = new RpService.RpService();
如果有head头用户名和密码验证的话还必须实例化下面的head
RpService.RpSoapheader headValue = new RpService.RpSoapheader();
一般可将固定的用户名和密码放在web.config中,也可以直接接收页面的输入。
从web.config中读数据的语句是:
headValue.username = System.Configuration.ConfigurationManager.AppSettings[“username”].ToString();
headerValue.password = System.Configuration.ConfigurationManager.AppSettings[“password”].ToString();
rpService.RpSoapheaderValue = headerVlaue;
3、 验证通过后获得XML应答字符串或者成功与否的值1或0等等的。
string strXml = rpService.GetRp(Rp.id);、
if (strXml != string.Empty)
{
DataSet ds = new DataSet();
MemoryStream myms = new MemoryStream(Encoding.UTF8.GetBytes(strXml));
ds.ReadXml(myms, XmlReadMode.InferSchema);
if (ds != null && ds.Tables.Count != 0)
{
try
{
RpBLL rpBll= new RpBLL();
foreach (DataRow file in ds.Tables[0].Rows)
{
if (rpBll.CheckFileRpIfExist(int.Parse(file["FileId"].ToString())) == false)
{
rpBll.AddRpFile(int.Parse(file["FileId"].ToString()),
Rp.id, Rp.Mgid,
file["UserName"].ToString(),
file["FileName"].ToString(),
file["FileLength"].ToString(),
file["FileType"].ToString(),
int.Parse(file["EveryOne"].ToString()),
file["Url"].ToString());
}
}
}
}
}