SharePoint發行版本有SharePoint2003、SharePoint2007、Sharepoint 2010、SharePoint2013和SharePoint2016。SharePoint提供了功能強大的團隊協作環境,使得組織能夠在整個組織內部實現整合、組織、查找和提供 SharePoint站點。 我們可以基于WSS構建強大的項目。做為開發人員,我們有時需要創建基于WSS的自定義 Web服務來滿足特定的開發要求。 注意:由于WSS增強的安全性,我們需要一些特殊的步驟來創建自定義Web服務。當我們使用VS.NET提供的ASP.NET Web service模板來創建我們的SharePoint Web service時,我們必須將Web service創建到單獨的IIS網站中,而不能和WSS處于同一個IIS網站(不能使用相同的端口)。同時,我們還必須是運行WSS的機器上本地管理員組的成員。 下面列出了開發自定義SharePoint Web 服務的簡要步驟: 1、如果我們的WSS位于默認網站(端口80),那么我們需要創建一個新的網站并配置不同的端口。新的網站作為開發用網站,而WSS所在的默認網站作為生產環境的部署網站。 2、在開發網站上創建一個Web Service項目 3、生成并修改靜態發現(.disco)文件和 .wsdl文件,并保存成 .aspx頁面。在頁面內容頂部注冊Microsoft.SharePoint命名空間。 4、修改.disco和.wsdl文件,使其支持服務虛擬化機制。 5、當我們開發完成Web service后,將相關的文件部署到WSS網站的_vti_bin和_vti_bin\bin虛擬目錄下。 實例ODC_WritingCustomWebServicesSampleSPPT.EXE 提供了一個遠程訪問文檔的Web服務示例。項目中實現了一些Microsoft.SharePoint命名空間中暴露出來的文檔訪問方法,如SPFile.CheckIn, SPFile.CheckOut, SPFile.UndoCheckOut, 和 SPFileCollection.Add。在沒有這些自定義的Web service時,我們必須使用WebDAV或FrontPage RPC來實現類似的文檔訪問。 在WSS的服務器上安裝該示例
如下文件被拷貝到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服務 1、?在開發用網站上使用VS.NET利用其提供的模板創建一個空的 ASP.Net Web Service項目,其中將包括一個Service1.asmx 文件。 2、?進入代碼編輯,移除下面的行的注釋后編譯該項目。 //[WebMethod]//public?string?HelloWorld() //{ //??return?"Hello?World"; //} 3、?現在,我們可以將我們的服務部署到WSS網站中。 ?要想將自定義的Web服務綁到WSS上,VS .NET需要一些特定的基于.disco和.wsdl文件的.aspx文件。首先使用VS .NET命令行工具生成我們需要的.disco和.wsdl文件。 創建并編輯.disco和.wsdl文件 使用VS .NET命令行工具在當前目錄中生成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也進行同樣的修改并保存為Service1wsdl.aspx。 修改 Service1disco.aspx和Service1wsdl.aspx使其支持服務虛擬化機制 打開Service1disco.aspx文件并定位到下面的行: ? ![]() ![]() 對標簽 ? 定位到下面的行: ? 修改 ? 保存所有更改。 打開Service1wsdl.aspx文件并定位到下面的行: 修改soap:address行為: 保存所有更改。 將Web service相關文件拷貝到_vti_bin虛擬目錄 拷貝Service1wsdl.aspx,Service1disco.aspx和Service1.asmx到_vti_bin虛擬目錄。該目錄是默認的Web服務存放目錄。 拷貝對應的.dll文件到_vti_bin/bin虛擬目錄。 注意:_vti_bin/bin虛擬目錄映射到物理路徑\\Server_Name\Program Files\Common Files\Microsoft Shared\Web Server Extensions\ISAPI\bin 下面,我們要將我們的Web服務添加到WSS的Web服務列表中,這樣就可以在VS.NET中添加該Web服務的引用了。 Sharepoint 可以幫助企業用戶輕松完成日常工作。 |
溫馨提示:喜歡本站的話,請收藏一下本站!