无法从Sharepoint自动发现Exchange

时间:2011-01-25 04:03:19

标签: asp.net sharepoint-2007 exchange-server autodiscovery

我创建了一个ascx控件,用于在Sharepoint中通过它的Web服务访问Exchange 2010。当它在自己的ASP.NET测试站点中运行时(包含在一个简单的aspx页面中)一切正常。只要在Sharepoint中使用该控件,就会遇到“无法找到自动发现服务”错误。

ascx控件的dll背后的代码已经被放入GAC和Microsoft.Exchange.WebServices.dll

Microsoft.Exchange.WebServices.dll也已添加到web.config中安全控制列表中的sharepoint站点:

<SafeControl Assembly="Microsoft.Exchange.WebServices, Version=14.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" Namespace="Microsoft.Exchange.WebServices" TypeName="*" Safe="True" />

我可以ping自动发现服务,并从Sharepoint服务器访问Exchange Web服务URL https://mydomain.com/EWS/Services.wsdl

用户名和密码将在后面的ascx代码中发送到服务:

Dim service As ExchangeService = New ExchangeService()
service.Credentials = New WebCredentials(usrExchange, pwdExchange)
service.ImpersonatedUserId = New ImpersonatedUserId(ConnectingIdType.SmtpAddress, email)

有趣的是,如果我为服务指定了网址https://mydomain.com/EWS/Exchange.asmx,我会收到405 Method not allowed错误。

任何人都有任何想法可能是什么问题?

干杯, 加文

2 个答案:

答案 0 :(得分:1)

我遇到了同样的问题,我想我找到了解决方案。我必须在“管理信任”下将交换服务器使用的域根证书添加到SharePoint。

之后,一切都像魅力一样!

答案 1 :(得分:0)

ascx控件可以作为运行SharePoint的帐户执行Web服务调用。该帐户可能无法访问Exchange Web服务。