Web サービス経由で Exchange 2010 にアクセスする SharePoint で使用する ascx コントロールを作成しました。独自の ASP.NET テスト サイト (単純な aspx ページにラップされている) で実行すると、すべて正常に動作します。コントロールが SharePoint 内で使用されるとすぐに、「自動検出サービスが見つかりませんでした」というエラーが発生します。
ascx コントロールのコード ビハインド dll は、GAC と Microsoft.Exchange.WebServices.dll にドロップされました。
Microsoft.Exchange.WebServices.dll も、sharepoint サイトの web.config のセーフ コントロール リストに追加されました。
<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 という URLをサービスに指定すると、405 Method not allowed エラーが発生します。
問題が何であるか誰にも考えがありますか?
乾杯、ギャビン