SharePoint Portal Server & Office Research Service

自从得知Kaneboy兄编写了一个基于SPS的信息检索服务之后,就在大功完成的时候,看了一眼SPS的SDK,却发现这东西其实本来就已经有了。看来我又犯了“想当然”的错误。

在开发之前,我一直想寻找SPS是否具有这个功能,但是在看完Kaneboy的文章后,我想当然的以为这东西需要自己开发,于是摩拳擦掌,开始写代码进行实现。中间还遇到种种的问题,分别向moslem以及kaneboy进行了求教。

不过虽然SPS原来就有这种功能,但通过这几天的摸索,还是了解了很多原来不了解的知识,如在SPS上如何开发部署自己的Web Service等等。

大体来说有以下几步:

(1)在Web站点的属性中新增加一个MIME类型,即“.tmp”,并且将其对应到“common/type”;

(2)新建一个Web Service项目。注意,其所选的路径应该为http://portalServer/_layouts/ProjectName。(我是新建了一个虚拟目录,并且在SPS管理中心将其设为排除的路径);

(3)增加Microsoft.SharePoint.dll的引用,然后开始开发其功能;

(4)开发完毕后,将其部署到[driver name]:\Program Files\Common Files\Microsoft Shared\web server extensions\60\ISAPI当中,并且可以使用http://portalserver/_vti_bin/[Name].asmx来访问;

(5)此时使用VS.NET注册会出现HTTP错误,你应该使用命令行工具咧嘴笑脸isco http://portalserver/_vti_bin/[name].asmx来建立一个disco以及wsdl文件,并且按照SDK中的描述对其进行修改及重命名,再部署过来。

恶魔的脸现在就可以像普通的Web Service进行访问了。

另外,SPS自带的信息检索功能其实就在http://portalserver/_vti_bin/search.asmx中,大家可以试一下笑脸

打赏作者

“SharePoint Portal Server & Office Research Service”的16个回复

  1. 不是!本身这两个东西面向的使用群体是不一样的!
    J2EE是面向聪明的程序员,也是IT业技术的上层人员,能走上来的确实不多!
    而MS是面向那些懒惰的程序员,所以这些程序员只能在IT业技术的下层徘徊,永远被别人牵着走!
    me现在做的是J2EE,一个是大型的项目JUN4+oracle9i,是个宽带计费的项目,另一个是中小型的,现在的一些比较有潜质的大中型企业还是比较喜欢选用J2EE的,只有一些对计算机猪头猪脑的CTO才会使用炒作比较凶的.net
    其实,J2EE和.net的竞争与Linux(Unix)和Window的竞争有着太多的相似之处,它们之间的优缺点的比较也有着异曲同工之妙!感觉需要自己体会!路需要自己选择!

  2. 路是要自己走的,这话绝对没有错的:)
    据我所知,OzTime也不是做J2EE呀,好象你也不是CTO吧?林总选择的路似乎还是以.NET为主。
    别管选择什么,只要能够做出成绩才是最佳的:)

  3. 只会靠感叹号来增强你可怜的“语气”吗?

    用JRun4这种二流(要不是三流?:)App Server也吹“大型项目”?敢问你中小型的那个项目用什么啊?

  4. 偶晕…

    不过这也不能怪偶,手头有两个SDK,一份是“Microsoft Windows SharePoint Services Software Development Kit”,一份是“Microsoft SharePoint Products and Technologies 2003 Software Development Kit”。偶一直看的都是WSS SDK,里面的确没有包括提供OffficeRS的WS服务,提供OfficeRS的WS服务是SPS提供的,在SPS SDK里面才有描述…

    BTW:Java刚出来的时候,很多C++程序员都觉得自己做起来好累的事情用Java一下子做完了,还N简单,特郁闷,于是一个劲说Java是初级程序员才用的东东,咱真正的程序员从不用啥GC什么的…现在时过境迁,Java程序员又可以如此说.NET程序员了,唉…

    不过嘛,高年级同学总是要欺负一下新生的,只是不知道什么时候.NET程序员们能够混到“高年级”,然后,哈哈,看到新生就猛踩…

  5. >>现在的一些比较有潜质的大中型企业还是比较喜欢选用J2EE的,只有一些对计算机猪头猪脑的CTO才会使用炒作比较凶的.net

    非常不喜欢这种腔调,骂别人的时候,小心人家也正在骂你。

  6. 请问如何使用命令行工具创建disco以及wsdl文件,我是模仿sps创建的。难道在装有sps的机器上创建webservice就是这么麻烦吗,另外如果在SPS管理中心将虚拟目录设为排除的路径的话,在我的webservice中是不是就不能通过OM来访问sps的内容了?

  7. 谢谢,我们项目组把Object Model习惯叫成OM了:)
    另外再问一个问题:
    上传文档的时候,我通过程序给文档加了一些自定义属性,以后只要一修改自定义属性值的时候,sps会自动的给文档增加新的版本,这样的话sps的版本控制好像就不太好用,因为当我需要显示一个文档的历史版本的时候,就多了好多其实没有意义的记录,我现在的解决方法就是没有使用sps的版本记录,而是在执行相关操作的时候写数据库。但是这样很麻烦,不知道有没有什么好的方法?

  8. 犯了同样的错误,也是研究了Office Research Service 半天,不过倒是弄基本明白了Office Research Service ,真是有意思!

    其实一个程序员经常犯的错误就是想当然的自己做,真的要好好提倡一下"拿来注意"了!!!!!

  9. 各位何必,
    我用weblogic,oracle9i,struct作电信计费,但是也会常常学习。net的技巧。现在大家都强调模式,只有基础好了才能更好的理解。

  10. 好像这里的人都瞒有经验的,我有一个问题,我用的wss作外网。可是在使用图片库的时候发现,用office2003的picutre manager来浏览wss站点所有的图片都一览无遗而且可以随便复制到本地电脑上,可是我又不想让我的图片的图片就这样被人家利用,不知各位有没有什么办法解决以下这个问题

  11. 靠, 那些不懂C++ 和C# 的 公猪就不要在这里发镖, J2EE到现在还没有成为公共的工业标准,只是Sun的私利;Java的速度和C比起来,差十万八千里….你牛个卵子, 自己鸡巴都没长毛,跑到这里来撒野….

评论已关闭。