设置我的WCF服务以与Sharepoint Web服务进行通信时遇到了很多困难,特别是我正在尝试使用Lists.asmx和Copy.asmx服务.
我使用http链接到sharepoint进行开发,但现在我们需要切换到HTTPS链接.我获得了Web引用设置并更新了此链接,但是当它尝试调用服务(例如:GetListItems)时,它出错并出现以下错误:请求失败,HTTP状态为401:未经授权.
然后我试着看看我们的Sharepoint Server使用什么类型的身份验证,结果证明是NTLM.然后我尝试为此配置web.config文件.这是整个web.config文件:
name="InventoryService.InventoryService">
contract="InventoryService.IInventoryService">
http://site/_vti_bin/Copy.asmx
https://site/_vti_bin/Lists.asmx
如果我有一个线索,如果我正确地为NTLM设置此配置文件,这将是非常有帮助的.
如果设置正确,那么我想我会继续讨论是否正确设置凭据的下一个问题:
inventoryList = new SharepointLists.Lists();
inventoryList.Url = "https://fullsiteurl/_vti_bin/Lists.asmx";
inventoryList.Credentials = new System.Net.NetworkCredential("user", "pass", "domain");
如果有人能够解决这个问题,那也会非常有帮助.
我再次知道配置文件很长,如果你仔细阅读它我非常感谢它让我知道我是否正确设置了NTLM身份验证.
如果所有这些检查都没问题,那么我不知道从哪里开始获得带有sharepoint的HTTPS链接(现在仍然可以访问到sharepoint的现有HTTP链接,直到我可以使用HTTPS链接获得服务) .