我创建了一个ascx控件,用于Sharepoint,通过它的Web服务访问Exchange 2010。当它运行在它自己的ASP.NET测试网站(包装在一个简单的aspx页面中)时,一切正常。只要在Sharepoint中使用控件,就会遇到“自动发现服务无法找到”错误。Exchange不能从Sharepoint自动发现
背后的dll的ascx控件的代码已被摔落到GAC也Microsoft.Exchange.WebServices.dll
Microsoft.Exchange.WebServices.dll也被添加到网络安全控制列表为的.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)
有趣的是,如果我指定的URL https://mydomain.com/EWS/Exchange.asmx的服务,我收到了405不允许的方法错误。
任何人有任何想法可能是什么问题?
干杯,加文
干杯Pradeep会做。不知道那个! :) – Gavin 2011-01-25 22:46:55
有趣的是,这可以在开发框中正常工作,它只是导致405错误的活动框。我可以使用网络浏览器从两个框中访问https://mydomain.com/EWS/Services.wsdl,没有任何问题。 – Gavin 2011-01-28 00:07:04