您可以使用HTTP调试器(如fiddler2)来分析SharePoint设计器进行查找的Web服务和远程过程调用。例如,为了获得可用的列表模板,SPD使用DisplayPostRPC命令(例如,http://www.microsoft.com/technet/prodtechnol/default.mspx)发出HTTP请求。
POST http://[server]/[web]/_vti_bin/owssvr.dll?Cmd=DisplayPost
用的XML有效载荷:
<?xml version="1.0" encoding="UTF-8"?>
<ows:Batch OnError="Return" Version="12.0.0.000">
<Method ID="0,GetProjSchema">
<SetVar Name="Cmd">GetProjSchema</SetVar>
</Method>
</ows:Batch>
SPD然后分析在响应中的ListTemplates节点,以获得模板名称,类型和功能ID的列表。
要创建从一个特定的模板类型或特征ID的列表中,SPD使用相同DisplayPost命令,此时用类似于消息体:
<?xml version="1.0" encoding="UTF-8"?>
<ows:Batch OnError="Return" Version="12.0.0.000">
<Method ID="0,NewList">
<SetVar Name="Cmd">NewList</SetVar>
<SetVar Name="ListTemplate">108</SetVar>
<SetVar Name="Title">Discussion Board</SetVar>
<SetVar Name="FeatureId">00bfea716a4943fab535d15c05500108</SetVar>
<SetVar Name="RootFolder" />
<SetVar Name="LangID">1033</SetVar>
</Method>
</ows:Batch>
有关如何使用RPC协议的示例请参阅this将文件上传到SharePoint文档库(它使用author.dll而不是owssvr.dll,但技术类似)。
提琴手是一个很好的建议,它有助于确定我得到的真实问题。 – 2010-11-08 23:17:26