2011-01-25 5 views
0

Sharepointで使用するascxコントロールを作成しました。このコントロールは、Webサービスを介してExchange 2010にアクセスします。それを自分のASP.NETテストサイト(単純なaspxページでラップ)で実行すると、すべて正常に動作します。コントロールがSharepoint内で使用されると、「Autodiscoverサービスが見つかりませんでした」というエラーが発生しました。ExchangeはSharepointから自動発見できません

ASCX制御用のDLLの背後にあるコードは、GACに落下したともMicrosoft.Exchange.WebServices.dll

Microsoft.Exchange.WebServices.dllもウェブで安全なコントロールリストに追加されましたSharePointサイトのための.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) 

、私は私がエラーを許可されていない405の方法を取得し、サービスにURL https://mydomain.com/EWS/Exchange.asmxを指定した場合。

誰でも問題の可能性があるアイデアはありますか?

乾杯、 ギャビン

+0

感謝の言葉Pradeepが行います。それについて知らなかった! :) – Gavin

+0

興味深いことに、これはデベロッパーボックスからうまくいきますが、それは405エラーになるライブボックスです。両方のボックスからWebブラウザを使用して問題なくhttps://mydomain.com/EWS/Services.wsdlにアクセスできます。 – Gavin

答えて

0

ASCXコントロールは、SharePointを実行しているアカウントとして、Webサービスの呼び出しを実行することができます。そのアカウントは、Exchange Webサービスにアクセスできない可能性があります。

+0

コードビハインドでサービスを呼び出すと、特定のユーザー名とパスワードが設定されます。これを表示するために元の質問に詳細を追加します。しかし、ありがとう:) – Gavin

+0

ええ、私はコメントでそれを投げただろうが、その時点で行うには十分なアクセス権がなかった。 –

1

同じ問題が発生しましたが、解決策が見つかりました。 Exchange Serverによって使用されたドメインルート証明書をSharePointに「信頼管理」の下に追加する必要がありました。

その後、すべてが魅力的に機能しました。

関連する問題