2013-09-23 25 views
8

私は予定を作成しようとすると、私はエラーを取得する:EWSのExchange WebサービスAPI AutodiscoverUrl例外

期待されるXMLノードタイプXMLDECLARATIONだったが、実際の型は 要素です。

この例外は、AutodiscoverUrlを呼び出したときに発生します。
私はこれを行うWebサービスを作成しました。

[webMethod] 
CreateAppointment() 
{ 
    var service = new ExchangeService(ExchangeVersion.Exchange2007_SP1) 
    { 
     Credentials = new WebCredentials("[email protected]", "mypassowrd") 
    }; 

    service.AutodiscoverUrl("[email protected]"); 

    //---------------------------------------------------------------------- 
    var app = new Appointment(service) 
    { 
     Subject = "Meet George", 
     Body = "You need to meet George", 
     Location = "1st Floor Boardroom", 
     Start = DateTime.Now.AddHours(2), 
     End = DateTime.Now.AddHours(3), 
     IsReminderSet = true, 
     ReminderMinutesBeforeStart = 15 
    }; 
    app.RequiredAttendees.Add(new Attendee("[email protected]")); 
    app.Save(SendInvitationsMode.SendToAllAndSaveCopy); 
} 
+0

私はこれに賞金を加えました。これは一部のユーザーには効果的ですが、他のユーザーには効果的ではありません。私は電子メールアドレスの例外があります。私は電子メールアドレスに送ることができました。 – Jess

+0

メールアドレスとは関係ありません。問題の電子メールアドレスでこのコード行を実行したところ、うまくいきました。 '_exchangeService = new ExchangeService(ExchangeVersion.Exchange2013_SP1); _exchangeService.AutodiscoverUrl(_sender); ' – Jess

+0

@ Jess:EWS仮想ディレクトリがIISでASP.NET 1.1を使用するように構成されているかどうかを確認できますか?その場合は、ASP.NET 2.0に変更してみてください。 – Douglas

答えて

0

いくつかの潜在的な回答。

  1. 間違ったURLまたはドメインを渡しています。
  2. 悪い電子メールアドレスを渡しています。
  3. Windowsプロファイルの再構築が役立つことがあります。 (警告:IT管理者にこれを依頼してください)。それは過労かもしれません。
  4. ユーザーは、古い、悪い、または複数のOutlookプロファイルが設定されている可能性があります。 Outlookのプロファイルで電子メールサーバー名が正しくない可能性があります。
0

自動検出は、二つのことに依存します([コントロールパネル]> [メール]を参照してください):Exchangeサーバー上の自動検出データへのユーザーのメールドメインからポイント

  1. DNSエントリを。通常、autodiscover.domain.comという名前のDNSエントリがありますが、Exchangeのバージョンごとにこれを設定する方法は複数あります。正しいDNSエントリが存在しない場合、自動検出は失敗します。

  2. Exchangeサーバーでホストされている自動検出データ(XMLファイルだと思われます)がHTTP経由でアクセスされます。アクセスできない場合(おそらくファイアウォールの内側にある場合)、自動検出は失敗します。

クライアントが適切なDNSエントリと自動検出情報にアクセスできることを確認します。

関連する問題