动态及静态调用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());

               }

    }

}

}

posted @ 2013-10-15 22:07  源起  阅读(317)  评论(0编辑  收藏  举报