【发布时间】:2011-11-18 23:11:03
【问题描述】:
我想从经典的 ASP 页面访问共享点列表 web 服务。我正在创建soap xml格式并尝试调用webservice url,像这样
Dim http ,soap
soap = "<?xml version='1.0' encoding='utf-8'?>"
soap =soap & "<soap12:Envelope xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:xsd='http://www.w3.org/2001/XMLSchema' xmlns:soap12='http://www.w3.org/2003/05/soap-envelope'>"
soap =soap & "<soap12:Body>"
soap =soap & "<GetListItems xmlns='http://schemas.microsoft.com/sharepoint/soap/'>"
soap =soap & "<listName>Posts</listName>"
soap =soap & "<viewName></viewName>"
soap =soap & "<query></query>"
soap =soap & "<ViewFields><FieldRef Name='Title' /><FieldRef Name='Modified'/><FieldRef Name='DefaultViewUrl'/><FieldRef Name='ID'/><FieldRef Name='Author'/><FieldRef Name='Name'/><FieldRef Name='Body'/><FieldRef Name='NumComments'/><FieldRef Name='DefaultViewUrl'/></ViewFields>"
soap =soap & "<rowLimit>5</rowLimit>"
soap =soap & "<QueryOptions><IncludeMandatoryColumns>FALSE</IncludeMandatoryColumns><DateInUtc>FALSE</DateInUtc></QueryOptions>"
soap =soap & "</GetListItems>"
soap =soap & "</soap12:Body>"
soap =soap & "</soap12:Envelope>"
Set http = CreateObject("MSXML2.XMLHTTP")
http.Open "POST", URL, False
http.setRequestHeader "Content-Type", "application/soap+xml; charset=utf-8"
http.send(soap)
但我收到类似“处理 URL 时服务器发生错误。请联系系统管理员。 如果你是系统管理员……”
我需要通过任何身份验证还是有其他问题?
【问题讨论】:
-
您发帖的网址是什么?您不需要共享主机名,而是路径的其余部分。
-
这是我使用的网址,“Blogs/_vti_bin/Lists.asmx”
-
这可能是缺少身份验证。您不能以匿名用户身份访问 SharePoint API。您可以使用适用于 SharePoint 的 ADO 连接器 bendsoft.com/net-sharepoint-connector。将它与诸如 Camelot SharePoint 集成服务之类的 WCF 服务相结合,您将立即启动并运行您的 ASP Classic 集成。
-
嗨知道这篇文章现在已经过时了,但只是想粘贴一个 ASP 经典 -> 使用 COM+ 的 SharePoint 的链接。 blog.bendsoft.com/2012/09/….
-
在任何身份验证之前,您应该添加 SOAPAction 标头,该标头是标识您要调用的方法所必需的