none
EWSでexchange2010にアクセスする時、エラーが発生 RRS feed

  • 質問

  • Exchange Web ServiceのFindItemメソッドを利用して、ExchangeServer2010にアクセスすると、「アカウントまたはメールボックスにアクセスできません。」というエラーが発生しますが、原因が分かりません。

    原因解決の為に調べるべき情報、設定等ありますでしょうか。

    ※イベントログには、何も出力されません。

    【動作環境】

    Windows 2008 R2 server X64

    .Net Framework 3.5 SP1

    【ソースコードの一部】

                Dim ws As ExchangeServicePortTypeClient = New ExchangeServicePortTypeClient(homeServer)
                ws.ClientCredentials.UserName.UserName = WebConfigurationManager.AppSettings("ws_username")
                ws.ClientCredentials.UserName.Password = WebConfigurationManager.AppSettings("ws_userpass")

                Dim sid As ConnectingSIDType = New ConnectingSIDType()
                sid.ItemElementName = ItemChoiceType1.PrincipalName
                sid.Item = mail
                Dim imp As ExchangeImpersonationType = New ExchangeImpersonationType()
                imp.ConnectingSID = sid
                Dim reqv As RequestServerVersion = New RequestServerVersion
                reqv.Version = ExchangeVersionType.Exchange2010
                Dim mt As MailboxCultureType = New MailboxCultureType()

                ws.Open()
                Dim res As FindItemResponseType = Nothing
                Dim resm As FindItemResponseMessageType
                ws.FindItem(imp, Nothing, reqv, Nothing, GetFindItemType(), res)

    【例外情報】

    例外:System.ServiceModel.FaultException

    エラー:アカウントまたはメールボックスにアクセスできません。

    スタック:

    Server stack trace:
       場所 System.ServiceModel.Channels.ServiceChannel.HandleReply(ProxyOperationRuntime operation, ProxyRpc& rpc)
       場所 System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)
       場所 System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
       場所 System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)
     
    Exception rethrown at [0]:
       場所 System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
       場所 System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
       場所 MiniToday.ServiceReference.ExchangeServicePortType.FindItem(FindItemRequest request)
       場所 MiniToday.ServiceReference.ExchangeServicePortTypeClient.ServiceReference_ExchangeServicePortType_FindItem(FindItemRequest request)
       場所 MiniToday.ServiceReference.ExchangeServicePortTypeClient.FindItem(ExchangeImpersonationType ExchangeImpersonation, MailboxCultureType MailboxCulture, RequestServerVersion RequestServerVersion, TimeZoneContextType TimeZoneContext, FindItemType FindItem1, FindItemResponseType& FindItemResponse1)
       場所 MiniToday._MiniToday.Page_Load(Object sender, EventArgs e)

    2011年1月12日 6:20

回答

  • 自己解決しました。

    結論としては、元々BASIC認証でEWSへアクセスしていましたが、WINDOWS認証でEWSへアクセスする事で、エラーが発生しなくなりました。

    ActiveDirectoryサーバーとExchangeサーバーが分かれているとWCFのBASIC認証では問題があるようでした。

     

    投稿頂いた皆様に感謝致します。ありがとうございました!!

    • 回答としてマーク 星 睦美 2011年1月17日 0:25
    2011年1月14日 6:01

すべての返信

  • ykhope さん、こんにちは
    フォーラム オペレーターの星 睦美です。

    TechNet フォーラムではプログラミングに関する情報は集まりにくいと思いますが、MSDN フォーラム、または英語のExchange Server フォーラムをチェックしてみると参考情報があるかも知れません。

    Exchange Server TechCenter > Exchange Server Forums > Development

    イベントログにエラーの情報が出力されていないとのことですが、英語のExchange Server フォーラムのExchange Development Forum Guide – READ BEFORE POSTING にEWS のデバッグツールの情報がありますのでご紹介します。

    EWSEditor - Great tool to help understand EWS and debug your application. Source code available.

    お役にたちましたら幸いです。


    マイクロソフト株式会社 フォーラム オペレーター 星 睦美
    2011年1月13日 8:08
  • エラーの内容を確認した所、

     ResponseCode:ErrorMailboxConfiguration

     Message:アカウントまたはメールボックスにアクセスできません。

     というエラーが発生している事が分かりました。

    サーバーが以下構成となっております。全てを1台のサーバーで構成した環境で動作させていた場合、

    上記エラーは発生していませんでした。

    ハブトランスポートサーバーを構成する事で何か設定や注意点等ありますでしょうか。

     ・ActiveDirectory サーバー

    ・Exchange2010 ハブトランスポートサーバー

    ・Exchange2010 メールボックスサーバー×2台

    ※OSは全てWindows2008 ServerR2です

    2011年1月14日 2:08
  • Exchange 2010 クライアントアクセスサーバが入っていないのでは?

    それともどこかに同居されておりますか。

     

    2011年1月14日 2:45
  • 自己解決しました。

    結論としては、元々BASIC認証でEWSへアクセスしていましたが、WINDOWS認証でEWSへアクセスする事で、エラーが発生しなくなりました。

    ActiveDirectoryサーバーとExchangeサーバーが分かれているとWCFのBASIC認証では問題があるようでした。

     

    投稿頂いた皆様に感謝致します。ありがとうございました!!

    • 回答としてマーク 星 睦美 2011年1月17日 0:25
    2011年1月14日 6:01