列出Web服务 - 当使用服务器名称而不是IP地址形成具有绝对Url的文件名时,某些方法不起作用

时间:2011-12-29 15:28:19

标签: web-services sharepoint moss wss sharepoint-api

我正在使用SharePoint列表Web服务在SharePoint服务器上进行一些查询。当提供具有所需输入参数的IP地址的绝对URL时,似乎工作正常。例如,http://192.168.1.114/sites/myteam/Shared Documents/foo.txt。但是,如果将其替换为:http://servername/sites/myteam/Shared Documents/foo.txt,则抛出SoapServerException。

我在调用CheckInFile方法时遇到了这些问题。如果我用IP地址输入文件名,它可以正常工作。如果我使用服务器名称输入文件名,则会抛出SoapServerException

调用UpdateListItems时出现同样的问题。我使用字符串参数如下:

string strBatch = "<Method ID='1' Cmd='Delete'>" +
"<Field Name='ID'>3</Field>" +   
"<Field Name='FSObjType'>0</Field>" + 
"<Field Name='FileRef'>" + sFileName + "</Field>" +
"</Method>";

如果我用绝对URL替换sFileName和IP地址,它可以正常工作。如果我用带有服务器名称的绝对URL替换sFileName,它返回了一个错误代码为0x81020030的XML节点,错误消息如下:

  

文件名无效。您指定的文件名无法使用。它   可能是现有文件或目录的名称,或者您可能没有   访问该文件的权限。

我们不确定列表Web服务是否带来此问题,或者我们的DNS设置是否不正确。任何意见将不胜感激。

1 个答案:

答案 0 :(得分:0)

在管理中心检查Alternate Access Mappings。您必须确保它包含正确的主机名引用 - 您要在此处引用的引用。