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中,大家可以试一下笑脸