大家清明小长假好。
在这里请教大家一个问题,说来惭愧,做了4年Asp.Net开发,却一直没有机会接触到Web Service,现在遇到了一个问题,在网上了解了一下,似乎可以借助Web Service技术来实现,特此提问,希望大家可以帮助,并提供相关的资料或者Demo,不胜感谢,如果有其他的解决方案,也请您发表高见。主要是一个系统集成的问题,我们现在开发的一套系统,需要访问另外若干个公司开发的若干套系统的数据库。有很多不同的库,大致有7个,有本地也有远程,全部为Oracle数据库。现在我们需要在我们的系统中应用这些数据库中的数据,最好是实时(或者按客户要求的定期)。听说Web Service可以实现,请问具体的实现思路和方案,是不是这样实现还是需要提供数据库的用户名和密码?因为有个厂商不愿意提供权限,请问有什么思路?

解决方案 »

  1.   

    WebServiceHelper.InvokeWebService(url ,"GetDataMethod" ,args) ;url为web服务的url GetDataMethod为方法名 args为参数 可以是数组
      

  2.   


      Web Service 就是一个应用程序,它向外界暴露出一个能够通过Web进行调用的API   跟提供接口差不多的
     你通过服务提供商给你的WSDL(Web Services Description Language)相当于说明书
    你在做项目的时候 添加Web引用   浏览本地网络上的 UDDI 服务器   填写URL 你说的通过WebService访问数据库的话 那样就不叫数据采集了 跟访问本地数据库不一样的是  只能访问人家提供的信息
    其它办法的话 也就是叫别人提供接口
      

  3.   

    通过remoting 或Web Service获取数据
    http://www.cnblogs.com/wannacnblogs/articles/214744.html
      

  4.   


    楼主回复:那就是说,如果要做Web Serivce的话,也是各个我们需要访问的数据库系统开发商来制作,我们仅仅是调用他们的Web Service?那调用应该如何调用呢?制作又如何制作,有没有简单的DEMO,我想研究一下。现在的疑问是,其实Web Serivce实现我所说的需求,就是原系统开发商或者在知道数据库用户名密码的情况下,设计一个Web Service应用,里面是访问数据库的类和方法以及对外的接口。数据需求方只是引用这个Web Service,调用对外的接口就可以取到数据了,是吗?那如果在知晓用户名和密码的情况下,就没有必要做Web Service,直接远程访问就可以了,是这样吗?我的理解有问题吗?谢谢
      

  5.   

    DEMO网上多的是第二个问题你的理解没问题 是那样的
      

  6.   

    里面是访问数据库的类和方法以及对外的接口。数据需求方只是引用这个Web Service,调用对外的接口就可以取到数据了,是吗?
    回答:是的
    那如果在知晓用户名和密码的情况下,就没有必要做Web Service,直接远程访问就可以了,是这样吗?
    回答:是的你可以直接远程连接数据库了===上传麻烦  需要加我QQ发给你:294649324
    //调用WebService 需要添加Web引用
    //Asp.NET网站里面的using System;
    using System.Data;
    using System.Configuration;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;
    //添加命名空间
    using AddXY;//在添加引用的时候设置的引用名public partial class _Default : System.Web.UI.Page 
    {
        protected void Page_Load(object sender, EventArgs e)
        {    }
        protected void Button1_Click(object sender, EventArgs e)
        {
            Service sr = new Service();
             double i=sr.Add(Convert.ToDouble(this.TextBox1.Text), Convert.ToDouble(this.TextBox2.Text));
             Response.Write(i.ToString());
        }
    }
    //WebServiceusing System;
    using System.Web;
    using System.Web.Services;
    using System.Web.Services.Protocols;[WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    public class Service : System.Web.Services.WebService
    {
        public Service () {        //如果使用设计的组件,请取消注释以下行 
            //InitializeComponent(); 
        }   
       
        [WebMethod]
        public double Add(double x, double y)
        {
            return x + y;
        }
        
    }
      

  7.   

    在创建 WebService的时候 需要新建Asp.NET  Web  服务
      

  8.   

    这东西最好是,别人提供给你WEB Service ,然后你进行调用
      

  9.   


    楼主回复:非常感谢大家的帮助,我现在加分结贴,尤其感谢wuyq11,jijunwu两位朋友的私下帮助和解答。
      

  10.   


    楼主回复:此帖发帖1天后才允许加分汗。混了这么多年,才知道CSDN还有这个限制。