利用webService做系统间数据整合
- 近来,做了一个小系统,要求同原有的系统进行数据的整合。一开始想直接进行DB的访问,但后来感觉这种方式耦合性太强,所以抛弃了。试验了一下,感觉利用WebService实时抓取母系统的数据,生成XML数据或者直接插入相关数据库都可以解决这个问题。WebService主要是面向服务的,完成特定功能。整合了soap,wsdl,xml,http,uddi这些技术,一个比较大的特点就是实现异构系统的数据互通。在用的过程中,也遇到一些小问题,现在跟大家分享一下:
- .net中ws类首先要继承“System.Web.Services.WebService“,对于具体的各个方法,需要加上“[WebMethod]“标签,具体可以参见helloworld
- 在书写的过程中,如果您对ws的权限要求不是特别严格,可以直接利用
ps.Credentials= System.Net.CredentialCache.DefaultCredentials;
实现ws的调用。
3. 如果webmethod中存在返回对象的问题,需要注意,ws只能返回可以序列化的对象,同时有个细节 就是:如果传输类中的属性存在statci,readonly,const,这些属性是不可用传递数据的
4. 对于webservice的部署,在程序中可以直接和表现层的代码放在一起,不必再增加部属的成本。
5. 简单说一下,如何使用一个ws,直接引用你发布的ws的url起一个名字ws1,然后就可以在程序中直接引用应用,ws1.yourWebmehtod.....