SharePoint 列表項通過自定義WebService讀取


簡述:給其他系統提供集成,發現SharePoint自帶的WebService各種不好使,索性就自己寫一點,也當做自己學習的記錄了。當然內容比較簡單,希望大俠們不要介意,也不要罵我啊。好了,進入正題吧。

1、 首先,使用VS2008新建一個WebService的項目,選擇Asp.net Web服務應用程序,然后輸入項目名稱

clip_image002

2、 添加引用

添加Microsoft.SharePoint.dll文件的引用,因為我們需要使用SharePoint的對象模型來讀取列表信息,Dll文件的位置是C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\ISAPI\Microsoft.SharePoint.dll

clip_image003

3、 添加函數

函數前面寫上[WebMethod]標記,然后定義我們自己需要的方法,方法的參數和返回值,在方法里面,寫我們的調用,我的代碼就是個簡單的例子,返回的也都是String類型,如果操作失敗,則返回為空。

GetListItem(string WebUrl,string ListName,int ID)//獲取列表項,傳參分別為網站地址、列表名、ID

public string GetWebID(string WebUrl)//獲取網站的WebID屬性

[WebMethod]

public string GetWebID(string WebUrl)

{

try

{

SPSite site = new SPSite(WebUrl);

SPWeb web = site.OpenWeb();

return web.ID.ToString();

}

catch (Exception ex)

{

return "";

}

}

[WebMethod]

public string GetListItem(string WebUrl, string ListName, int ID)

{

try

{

SPSite site = new SPSite(WebUrl);

SPWeb web = site.OpenWeb();

SPListItem item = web.Lists[ListName].Items[ID];

String rt = "標題:" + item["Title"].ToString() + "內容:" + item["內容"].ToString();

return rt;

}

catch (Exception ex)

{

return "";

}

}

4、 發布WebService后測試

發布到IIS以后,打開我們的WebService,可以看到我們的自定義的兩個方法,都在WebService中了。

clip_image004

5、 使用兩個函數

我們可以分別測試下我們的兩個函數,點擊我們的函數,可以進入下面的界面,輸入我們的參數,調用即可。

clip_image005

clip_image006

6、 調用結果

如果,可以看出我們調用的結果,下面第一張圖是GetListItem(string WebUrl,string ListName,int ID)函數的,第二張圖是GetWebID(string WebUrl)的結果。

clip_image008

clip_image010

小結

好了,我的博客記錄今天就寫到這里,環境大家多多提意見,打擊我剛剛催生的小自信!

******************************************************************************

作者:霖雨

出處:http://www.cnblogs.com/jianyus

本文版權歸 霖雨和博客園共有,歡迎轉載,但請注明出處。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM