SharePoint發(fā)行版本有SharePoint2003、SharePoint2007、Sharepoint 2010、SharePoint2013和SharePoint2016。SharePoint提供了功能強(qiáng)大的團(tuán)隊協(xié)作環(huán)境,使得組織能夠在整個組織內(nèi)部實現(xiàn)整合、組織、查找和提供 SharePoint站點。 我們可以基于WSS構(gòu)建強(qiáng)大的項目。做為開發(fā)人員,我們有時需要創(chuàng)建基于WSS的自定義 Web服務(wù)來滿足特定的開發(fā)要求。 注意:由于WSS增強(qiáng)的安全性,我們需要一些特殊的步驟來創(chuàng)建自定義Web服務(wù)。當(dāng)我們使用VS.NET提供的ASP.NET Web service模板來創(chuàng)建我們的SharePoint Web service時,我們必須將Web service創(chuàng)建到單獨的IIS網(wǎng)站中,而不能和WSS處于同一個IIS網(wǎng)站(不能使用相同的端口)。同時,我們還必須是運行WSS的機(jī)器上本地管理員組的成員。 下面列出了開發(fā)自定義SharePoint Web 服務(wù)的簡要步驟: 1、如果我們的WSS位于默認(rèn)網(wǎng)站(端口80),那么我們需要創(chuàng)建一個新的網(wǎng)站并配置不同的端口。新的網(wǎng)站作為開發(fā)用網(wǎng)站,而WSS所在的默認(rèn)網(wǎng)站作為生產(chǎn)環(huán)境的部署網(wǎng)站。 2、在開發(fā)網(wǎng)站上創(chuàng)建一個Web Service項目 3、生成并修改靜態(tài)發(fā)現(xiàn)(.disco)文件和 .wsdl文件,并保存成 .aspx頁面。在頁面內(nèi)容頂部注冊Microsoft.SharePoint命名空間。 4、修改.disco和.wsdl文件,使其支持服務(wù)虛擬化機(jī)制。 5、當(dāng)我們開發(fā)完成Web service后,將相關(guān)的文件部署到WSS網(wǎng)站的_vti_bin和_vti_bin\bin虛擬目錄下。 實例ODC_WritingCustomWebServicesSampleSPPT.EXE 提供了一個遠(yuǎn)程訪問文檔的Web服務(wù)示例。項目中實現(xiàn)了一些Microsoft.SharePoint命名空間中暴露出來的文檔訪問方法,如SPFile.CheckIn, SPFile.CheckOut, SPFile.UndoCheckOut, 和 SPFileCollection.Add。在沒有這些自定義的Web service時,我們必須使用WebDAV或FrontPage RPC來實現(xiàn)類似的文檔訪問。 在WSS的服務(wù)器上安裝該示例
如下文件被拷貝到Local_drive:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\60\isapi\ 目錄:
如下文件被拷貝到Local_drive:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\60\isapi\BIN\目錄:
編寫一個自定義Web服務(wù) 1、?在開發(fā)用網(wǎng)站上使用VS.NET利用其提供的模板創(chuàng)建一個空的 ASP.Net Web Service項目,其中將包括一個Service1.asmx 文件。 2、?進(jìn)入代碼編輯,移除下面的行的注釋后編譯該項目。 //[WebMethod]//public?string?HelloWorld() //{ //??return?"Hello?World"; //} 3、?現(xiàn)在,我們可以將我們的服務(wù)部署到WSS網(wǎng)站中。 ?要想將自定義的Web服務(wù)綁到WSS上,VS .NET需要一些特定的基于.disco和.wsdl文件的.aspx文件。首先使用VS .NET命令行工具生成我們需要的.disco和.wsdl文件。 創(chuàng)建并編輯.disco和.wsdl文件 使用VS .NET命令行工具在當(dāng)前目錄中生成Service1.disco 和 Service1.wsdl,命令如下: Disco http://server_name:New_Port/Project_Name/Service_1.asmx 打開Service1.disco文件并定位到下面的行: <?xml?version="1.0"?encoding="utf-8"?>將其替換成: ? <%@?Page?Language="C#"?Inherits="System.Web.UI.Page"%>?<%@?Assembly?Name="Microsoft.SharePoint,?Microsoft.SharePoint,?Version=11.0.0.0,?Culture=neutral,?PublicKeyToken=71e9bce111e9429c"?%>?<%@?Import?Namespace="Microsoft.SharePoint.Utilities"?%>?<%@?Import?Namespace="Microsoft.SharePoint"?%><%?Response.ContentType?=?"text/xml";?%> 以 Service1disco.aspx保存該文件。 對Service1.wsdl也進(jìn)行同樣的修改并保存為Service1wsdl.aspx。 修改 Service1disco.aspx和Service1wsdl.aspx使其支持服務(wù)虛擬化機(jī)制 打開Service1disco.aspx文件并定位到下面的行: ? ![]() ![]() 對標(biāo)簽 ? 定位到下面的行: ? 修改 ? 保存所有更改。 打開Service1wsdl.aspx文件并定位到下面的行: 修改soap:address行為: 保存所有更改。 將Web service相關(guān)文件拷貝到_vti_bin虛擬目錄 拷貝Service1wsdl.aspx,Service1disco.aspx和Service1.asmx到_vti_bin虛擬目錄。該目錄是默認(rèn)的Web服務(wù)存放目錄。 拷貝對應(yīng)的.dll文件到_vti_bin/bin虛擬目錄。 注意:_vti_bin/bin虛擬目錄映射到物理路徑\\Server_Name\Program Files\Common Files\Microsoft Shared\Web Server Extensions\ISAPI\bin 下面,我們要將我們的Web服務(wù)添加到WSS的Web服務(wù)列表中,這樣就可以在VS.NET中添加該Web服務(wù)的引用了。 Sharepoint 可以幫助企業(yè)用戶輕松完成日常工作。 |
溫馨提示:喜歡本站的話,請收藏一下本站!