C# 使用SSL的CheckoutFile方法上的Sharepoint列表Web服务错误

C# 使用SSL的CheckoutFile方法上的Sharepoint列表Web服务错误,c#,web-services,sharepoint,C#,Web Services,Sharepoint,在下载到客户端应用程序进行编辑之前,我正在尝试从SharePoint文档库签出文件 //documentPath = https://192.168.1.10/Utility/Phys/Document%20Library/document.xml //listWebServiceURL = https://192.168.1.10/Utility/Phys/Document%20Library/_vti_bin/lists.asmx private void CheckOutFile(stri

在下载到客户端应用程序进行编辑之前,我正在尝试从SharePoint文档库签出文件

//documentPath = https://192.168.1.10/Utility/Phys/Document%20Library/document.xml
//listWebServiceURL = https://192.168.1.10/Utility/Phys/Document%20Library/_vti_bin/lists.asmx
private void CheckOutFile(string documentPath)
{
    string listWebServiceUrl = this.GetListServiceURL(documentPath);
    bool checkedOut;

    using (Lists listWebService = new Lists())
    {
        listWebService.Credentials = CredentialCache.DefaultCredentials;
        listWebService.Url = listWebServiceUrl;
        checkedOut = listWebService.CheckOutFile(documentPath, "true", string.Empty);
    }
}
当checkedOut=listWebService.CheckOutFile(documentPath,“true”,string.Empty)时;行运行时,我得到一个SOAPServerException

((System.Xml.xmlement)((System.Web.Services.Protocols.SoapException)(ex)).Detail.InnerText 对象引用未设置为对象的实例

在此方面的任何帮助都将不胜感激

谢谢你,
基思

编辑:
我已经针对一个不使用SSL的SharePoint库测试了上述代码,它似乎运行良好

我认为您必须在listWebService.CheckOutFile的最后一个参数中提供时间值。它可能在抱怨字符串.Empty。试着放一根像这样的绳子;“2009年5月12日22:00:00 GMT”

这可能是另一个访问映射问题(“未设置对象”错误是一个指示符号)?您在管理中心->操作->全局配置->备用访问映射中找到了一个,是吗?

我刚刚遇到了这个对象引用错误,并通过将域添加到URL使其正常工作。 -获取一个错误, 但是 -结帐成功了


通过完全限定,它显然位于intranet区域中,用于备用访问映射,这是有意义的。

在lastModified时间戳上:如果此参数包含值,则服务器会将提交的lastModified值与存储的lastModified值进行比较。如果值不匹配,则签出失败,此方法返回false。我会验证你的建议。好的。。在文档库中为该项目列出的修改日期下尝试,没有运气。我试过用null代替string.empty,没有运气。每次都是一样的例外。我想你可能有什么发现。我在早些时候偶然发现了这一点,通过将我使用的url从IP地址更改为服务器的主机名,它开始工作。现在我将研究备用访问映射。谢谢。是的,如果您可以通过浏览器访问网站,但不访问任何web服务,那么备用访问映射是您的第一个调用端口。我同意,因为我在Sharepoint中仅通过Microsoft Internet Explorer签出Office(Excel)文档时遇到此错误:“对象引用未设置为对象的实例”. 使用会导致错误,但使用(FQDN)有效。