1

我有一个 clearQuest Web(在 Linux 上运行)并希望在创建新记录时创建一个共享点站点(使用 perl 脚本)。我该怎么做 - 是否有任何可用于创建站点的 sharepoint Web 服务。我相信我需要一个用于 web 服务的 perl 模块,如何将它添加到 clearQuest web 服务器的 perl 安装中?

有人对此有经验吗?

4

2 回答 2

0

我创建了一个自定义 Web 服务,用于在 SharePoint (WSS 3) 中创建网站,因为我找不到使用现有 Web 服务的方法。

代码看起来像这样:

[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public class CreateSiteWebService : System.Web.Services.WebService
{

    [WebMethod]
    public string CreateSite(
            string strWebUrl,
            string strTitle,
            string strDescription,
            uint nLCID,
            string strWebTemplate,
            bool useUniquePermissions,
            bool bConvertIfThere
        )

    {
        SPWeb newWeb = null;
        SPSite site = SPContext.Current.Site;
        newWeb = site.RootWeb.Webs.Add(strWebUrl, strTitle, strDescription, nLCID, strWebTemplate, useUniquePermissions, bConvertIfThere);
        newWeb.Navigation.UseShared = true;
        newWeb.Update();
        //try to get it to appear in quick launch:
        SPNavigationNodeCollection nodes = web.Navigation.QuickLaunch;
        SPNavigationNode menuNode = null;
        foreach(SPNavigationNode n in nodes)
        {
            if (n.Title == "Sites")
            {
                menuNode = n;
                break;
            }
        }
        if (menuNode == null)
        {
            menuNode = new SPNavigationNode("Sites", site.Url + "/_layouts/viewlsts.aspx?ShowSites=1", false);
            nodes.AddAsFirst(menuNode);
        }
        SPNavigationNode navNode = new SPNavigationNode(strTitle, strWebUrl, false);
        menuNode.Children.AddAsLast(navNode);
        parent.Update();
        parent.Dispose();

        site.Dispose();
        string url = newWeb.Url;
        newWeb.Dispose();
        return url;
    }
}

希望有帮助。

于 2010-11-04T02:50:29.977 回答
0

我没有使用过 perl 脚本。但是请查看http://sharepoint site/_vti_bin/sites.asmx网络服务。此网络服务可用于管理站点。

于 2010-11-04T02:24:50.063 回答