MOSS中提供了很多web services的服务,都放在下
我们可以在其他地方,比如winForm,webForm中调用,对MOSS的对象进行灵活操作。
下面我简单列一下调用一个MOSS中的搜索服务的方法:
1、在VS2005中加入Web引用,引用地址为http://<Site>/_vti_bin/Search.asmx
2、搜索代码如下:
using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.Text; public partial class _Default : System.Web.UI.Page { protected void Page_Load( object sender, EventArgs e) { WebService.QueryService query = new WebService.QueryService(); StringBuilder sbXml = new StringBuilder(); string keywordString = " 测试 " ; sbXml.Append( " <QueryPacket xmlns='urn:Microsoft.Search.Query'> " ); sbXml.Append( " <Query> " ); sbXml.Append( " <SupportedFormats> " ); sbXml.Append( " <Format revision='1'> " ); sbXml.Append( " urn:Microsoft.Search.Response.Document:Document " ); sbXml.Append( " </Format> " ); sbXml.Append( " </SupportedFormats> " ); sbXml.Append( " <Context> " ); // language可以设置成en-us等不同语言, type可以设成MSSQLFT,表示使用sql查询的格式 sbXml.Append( " <QueryText language='zh-cn' type='STRING'> " ); sbXml.Append(keywordString); sbXml.Append( " </QueryText> " ); sbXml.Append( " </Context> " ); sbXml.Append( " </Query> " ); sbXml.Append( " </QueryPacket> " ); // Sharepoint服务默认情况下是关闭匿名访问的,可以使用此方式指定访问时的用户名和密码, // 如果在域里面也可以使用 System.Net.NetworkCredential credentials = System.Net.CredentialCache.DefaultCredentials; System.Net.NetworkCredential credentials = new System.Net.NetworkCredential( " test " , " test1 " ); query.Credentials = credentials; // 返回xml格式的查询结果 string aa = query.Query(sbXml.ToString()); // 返回DataSet的查询结果 DataSet set = query.QueryEx(sbXml.ToString()); } } 取得搜索结果就可以在客户端灵活显示了。
本文转自永春博客园博客,原文链接:http://www.cnblogs.com/firstyi/archive/2007/02/09/645891.html,如需转载请自行联系原作者